Pengembangan Aplikasi AI Berbasis Cloud:
A. Pendahuluan Teknologi Cloud
A. Pendahuluan Teknologi Cloud
Cloud Computing? ¶
“A model for enabling convenient on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction ” [US National Institute of Standards and Technology (NIST)]
"metode penyampaian berbagai layanan melalui internet. Sumber daya yang dimaksud contohnya adalah aplikasi seperti penyimpanan data, server, database, jaringan, dan perangkat lunak." [Indonesian Cloud]
Bilamana Menggunakan Cloud? ¶
- Kebutuhan komputasi, memory, dan-atau storage tidak diketahui atau dinamis [elastic]
- Meminimalisir maintenance infrastruktur dan fokus ke development dan deployment aplikasi.
- Meyakinkan system availability, latency, dan robustness ke pengguna.
- Membutuhkan pengembangan dan deployment aplikasi yang cepat.
- Tidak ingin terlalu dipusingkan dengan pengaturan keamanan jaringan/infrastruktur.
Bilamana (public) Cloud Kurang Cocok ¶
- Tidak ada pendanaan yang stabil dan mencukupi terhadap operasional Cloud.
- Kebutuhan sumber daya komputer stabil dan dalam jangka waktu panjang
- Data confidential yang dilarang oleh aturan untuk diunggah di cloud.
- Koneksi internet pengguna aplikasi tidak reliabel.
- Ingin sepenuhnya menghindari Vendor Lock-in ... ketergantungan terhadap provider tinggi.
- System/aplikasi yang dibangun membutuhkan Kustomisasi tinggi.
Compliance with Industry Regulations: Hati-hati Aturan Terkait Data di Cloud ¶
Contoh¶
- General Data Protection Regulation (GDPR), a European Union privacy protection regulation
- Payment Card Industry Data Standard (PCI), a data protection regulation for credit card processing
- Health Insurance Portability and Accountability Act (HIPAA), a healthcare regulation
- Children’s Online Privacy Protection Act (COPPA), a privacy regulation
- Sarbanes-Oxley Act (SOX), a financial reporting regulation
Indonesia?¶
Private Data Center, VPS, Cloud ¶
- Tentu saja hybrid memungkinkan (taudata melakukan ini)
- Misal antara Public Cloud, web hosting sederhana, local computing power, dan-atau vps.
Karakteristik Cloud Computing ¶
On-demand self-service*: Tidak perlu interaksi dengan manusia (misal customer service)
Broad network access*: Dapat diakses dari berbagai (heterogen) platform dari client/pengguna (misal mobile phones, tablets, laptops, iot Devices, and workstations).
Resource pooling*: sumber daya pemilik cloud di kumpulkan (pooled) dan menggunakan model pengguna majemuk (multi-tenant). Pemilik cloud kemudian membagi sumber daya baik secara fisik maupun virtual bergantung pada permintaan pengguna cloud.
Rapid elasticity*: Kemampuan untuk secara automatis meningkatkan/mengurangi sumberdaya bergantung pada kebutuhan client pada waktu-waktu tertentu.
Measured service*: Cloud secara automatis mengukur, kendalikan, dan optimasi penggunaan kepada pengguna (user), misal penggunaan storage, processing, dan bandwidth.
Tipe Cloud ¶
Private Cloud:¶
Organisasi/Institusi bertanggung jawab sepenuhya untuk manajemen dan layanan infrastruktur komputasnya Mesin-mesim n dalaPrivatelouddi dapat berlokasi di lokasi perusaha/ini atau dapat dihosting oleh penyedia layanan cloud tetapi diarahkan ke dalam jaringan pribadi.twork).
Public Cloud:¶
Penyedia layanan Cloud menyediakan infrastruktur komputasi dan produk mereka untuk digunakan secara umum oleh perusahaan lain dan individu. Dalam Public Cloud, penyedia layanan awan bertanggung jawab untuk mengelola konfigurasi perangkat keras dan layanan. ud
Public Cloud Providers ¶
Pengalaman menggunakan AWS, GCP, dan Azure:
- https://aws.amazon.com : Cost ♦♦♦♦♦, Security ♦♦, AI ♦♦♦, Support ♦♦♦♦♦, Learning Curve ♦♦♦♦
- https://cloud.google.com : Cost ♦♦ Security ♦♦♦♦♦, AI ♦♦♦♦♦, Support ♦♦♦, Learning Curve ♦♦♦
- https://azure.microsoft.com : Cost ♦♦♦, N/A , AI ♦♦♦, Support ♦♦♦♦, Learning Curve ♦♦♦
Cloud Terminology & Profile ¶
Cloud Cost ¶
Security Alert A**S!!! ¶
- Pengalaman Pribadi menggunakan A*S, keamanannya sangat lemah sehingga saya pernah mendapat tagihan cloud dalam jumlah besar karena cloud service dipakai orang lain (hacker dari India).
- Customer service bagus, tapi tidak thorough. Sehingga proses recovery memakan waktu lama dan harus mengurus berkali-kali.
- Mematikan/non-aktifkan services di A*S sangat sulit ketimbang Azure/GCP.
- AWS terkenal sebagai penyedia cloud yang paling mahal.
Walau saya menyarankan GCP, tapi kelemahan utamanya adalah dokumentasi yang tidak mudah dipelajari untuk pemula ( steep learning curve )¶
Cloud Computing Models ¶
Software as A Service (SaaS)¶
- Software tidak di download & Install, membutuhkan koneksi internet aktif.
- Kelebihan: Perusahaan tidak direpotkan instalasi, management, maintenance, dsb.
- Kelemahan: Vendor Lock-in, performa, data security.
- Applicability: Cocok utk startup kecil, Project singkat, Aplikasi yang dipakai hanya sementara.
- Contoh: Dropbox, Onedrive, Gdrive, Slack, Skype, Zoom, Microsoft Office 365
Platform as A Service (PaaS)¶
- cloud menyediakan semua: servers, networks, storage, operating system software, databases—dsb di cloud data center (misal IBM); Pengguna membayar biaya bulanan sehingga dapat develop, run, & manage aplikasi tanpa harus membangun infrastruktur IT sendiri.
- Kelebihan: Sumber daya biasanya virtual, sehingga mudah untuk scale-up, flexible, mempercepat development, terintegrasi dengan DB.
- Kelemahan: Vendor Lock-in, data security, runtime issue: framework yang ingin digunakan mungkin tidak tersedia.
- Contoh penggunaan: Project IoT, membangun dan manage API, dsb.
- OS, Dev Tools, DBM, Analytics Tool.
Infrasturcture as a Service (IaaS)¶
- Fondasi dasar untuk membangun cloud-based service. Biasanya digunakan perusahaan besar (corporate).
- VMs, Networking, Storage, dll. d
Cloud Model Comparisons ¶
Google Cloud Platform - GCP ¶
Mengenal GCP Services: Cloud Compute ¶
Google Compute menawarkan berbagai kebutuhan komputasi seperti:
- Compute Engine (komputasi virtual untuk pemrosesan),
- App Engine (platform yang dikelola secara cloud untuk pengembangan aplikasi web, mobile, dan IoT),
- Kubernetes Engine (manajer/orkestrasi untuk kontainer docker berdasarkan Kubernetes),
- Container Registry (penyimpanan kontainer pribadi),
- Serverless Cloud Functions (fungsi berbasis cloud untuk menghubungkan atau memperluas layanan cloud), dan
- Cloud Run (platform komputasi yang dikelola yang secara otomatis mengatur skalabilitas kontainer stateless
Google Colab termasuk Cloud Compute¶
Mengenal GCP Services: Cloud Storage ¶
Google Cloud Storage (GCS) menyediakan akses penyimpanan yang dapat diubah ukurannya, tersedia kapan saja dan dari lokasi manapun di seluruh dunia. GCS relatif murah dan aman.
Produk-produk GCS:
- Cloud Storage (platform penyimpanan umum),
- Cloud SQL (MySQL dan PostgreSQL yang dikelola oleh Google),
- Cloud Bigtable (penyimpanan NoSQL berukuran petabyte),
- Cloud Spanner (scalable transactional data),
- Cloud Datastore (basis data NoSQL transaksional), dan
- Persistent Disk (Storage block untuk VM).
Mengenal GCP Services: Big Data and Analytics ¶
GCP menawarkan berbagai solusi big data dan analitik serverless untuk data warehousing, analitik data streaming dan batch, ekosistem Hadoop yang dikelola oleh Google, sistem pesan (messaging services), dan eksplorasi data.
- Cloud BigQuery (platform analitik/data warehousing tanpa server),
- Cloud Dataproc (infrastruktur Hadoop/Apache Spark yang dikelola sepenuhnya),
- Cloud Dataflow (transformasi/pemrosesan data Batch/Stream),
- Cloud Dataprep (infrastruktur tanpa server untuk membersihkan data yang tidak terstruktur/terstruktur untuk analitik),
- Cloud Datastudio (visualisasi data/laporan dashboard),
- Cloud Datalab (catatan Jupyter yang dikelola untuk pembelajaran mesin/analitik data), dan
- Cloud Pub/Sub (serverless messaging antar aplikasi/service).
Mengenal GCP Services: Cloud Artificial Intelligence (AI) ¶
Google Cloud AI menawarkan layanan bagi bisnis dan individu untuk memanfaatkan model "pretrained" untuk kecerdasan buatan melalui penggunaan REST API. Google juga menyediakan layanan untuk mengembangkan model kustom seperti AutoML Vision untuk klasifikasi/deteksi gambar dan serta AutoML Tables untuk deploy model AI pada data terstruktur.
- Cloud AutoML (melatih model AI kustom dengan memanfaatkan transfer learning),
- Cloud Machine Learning Engine (untuk training dan deploy AI berskala besar),
- Cloud TPU (untuk melatih model berskala besar dengan cepat),
- Video Intelligence (melatih model AI video),
- Cloud Natural Language API (ekstraksi/analisis teks dari dokumen),
- Cloud Speech API (transkripsi audio ke teks),
- Cloud Vision API (klasifikasi/segmentasi gambar),
- Cloud Translate API (menerjemahkan dari satu bahasa ke bahasa lain), dan
- Cloud Video Intelligence API (ekstraksi metadata dari file video).
Masih banyak service lain yang belum disebut di Module ini¶
Termasuk Google service untuk Medis:
Arsitektur Cloud: Sebuah Aplikasi biasanya menggunakan beberapa Cloud Services ¶
- Secara umum cloud development biasanya lebih "tricky" ketimbang software development non-cloud. Karena terkadang muncul bug dari sisi server yang muncul secara acak (pengalaman pribadi), atau karena perubahan struktur data, module, parameter, dsb.
Cloud Considerations: Designing and planning a cloud solutions architecture ¶
Prinsip Dasar:¶
- Functional Requirements: yakinkan kebutuhan client terpenuhi.
- Sederhanakan dan kembangkan perlahan.
- Dokumentasi, dokumentasi, dokumentasi.
- Partisi menjadi beberapa sub-bagian yg dapat dijalankan secara independent.
- Periksa Data Compliance regulations.
Best Practice:¶
- Multi-Cloud : Bisa juga hybrid dengan web hosting biasa untuk frontend dan app engine, karena biasanya jauh lebih murah.
- Optimasi Biaya: Tidak harus 100% menggunakan cloud, bisa hybrid, terutama untuk services yang mahal.
- Reliability: siapkan Fail-Safe,
- Perhatikan keamanan (Security) system.
- Durability & Scalability: Periksa kapasitas (stress test) dan perkirakan: Harus cek dan ricek, terutama proyeksi biaya cloud yang baik sebelum deployment (in production)
Availability biasanya tidak masalah di Provider Cloud ternama.
No comments:
Post a Comment
Relevant & Respectful Comments Only.