Cloud Computing

Kode IN991
SKS 3 sks
Pengajar Dr.Ir. Esther Irawati Setiawan, S.Kom., M.Kom.
Materi Mata kuliah ini membahas cara kerja dan cara penggunaan cloud computing untuk membuat aplikasi yang scalable (dapat menangani pengguna dalam jumlah besar). Untuk cara kerja cloud computing, topik yang dibahas meliputi jenis-jenis cloud computing, cara pembuatan pusat data (termasuk hardware, software, dan desainnya), komputasi paralel, dan sistem terdistribusi. Sedangkan untuk cara penggunaan cloud computing, akan dibahas teknik pemrograman yang meliputi: pengembangan aplikasi cloud, penanganan web requests, pengembangan web service, pengaksesan Web API, dan konfigurasi virtual machine.
Tujuan
  1. Mengembangkan aplikasi yang dapat berjalan dengan teknologi Cloud Computing.
  2. Mahasiswa dapat memahami sistem cloud computing yang berfokus pada scalability dan Storage dan penerapannya dengan menggunakan teknologi Google Cloud.
  3. Mahasiswa dapat membuat aplikasi Web pada Google Cloud dan melakukan konfigurasi pada Google Cloud.
Silabus
  1. Introduction to Cloud Computing: Definisi Cloud Computing; keuntungan dari menggunakan Cloud Computing, tiga jenis service dasar berupa SaaS (Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure as a Service).
  2. Introduction to Google Cloud: Memahami fitur-fitur dari Google Cloud; Memahami arsitektur dari Google Cloud, Memahami infrastruktur dari Google Cloud, mulai dari Region, Multi Region, Zone, Location.
  3. User Interface: Memahami cara melakukan akses pada Google Cloud, mulai dari Cloud Shell, Cloud SDK; Melakukan pemantauan pada Billing, Alert, Quotas, Reports.
  4. Compute Google Cloud: Memahami cara membuat aplikasi pada Google Cloud; Memahami cara menggunakan Compute Engine, App Engine, Cloud Function, Google Kubernetes Engine, Cloud Run.
  5. Storage Google Cloud: Memahami perbedaan structured data dan unstructured data; Melakukan penyimpanan SQL pada Cloud SQL dan Cloud Spanner; Melakukan penyimpanan secara NoSQL pada Google Cloud dengan memanfaatkan Cloud Firestore, Melakukan penyimpanan pada data yang besar untuk analytical pada BigQuery dan Cloud BigTable.
  6. API Google Cloud: Menjelaskan kegunaan dari API; Membuat suatu Endpoint dengan memanfaatkan Cloud Endpoints; Memantau berjalannya API dengan Apigee API Management; Menangani publisher dan subsciber pada Pub/Sub.
  7. Security in Google Cloud: Memahami cara konsep security; Memahami tanggung jawab dari Customer dan Google Cloud pada Shared Security Model; Melakukan enkripsi dan deskripsi via API dengan Customer-Managed Encryption Keys (CMEK) dan data dengan Customer-Supplied Encryption Keys (CSEK); Memberikan akses dan permission dengan IAM; Memanfaatkan Identity-Aware Proxy (IAP).
  8. Network in Google Cloud: Memahami konsep dasar IP dan perbedaan dari IP public dengan private; Memahami cara melakukan networking dengen Virtual Private Clouds (VPC) dan menggunakan multiple VPC secara bersamaan.
  9. Network in Google Cloud: Memahami berbagai fitur untuk connect dari Google VPN pada network lainnya, seperti IPsec VPN Control, Direct Peering, Career Peering, Dedicated Interconnect, Partner Interconnect; Memahami konsep Cloud Load Balancing; Mencoba memanfaatkan Cloud Load Balancing.
  10. Automation: Memahami cara Infrastructure as Code (IaC), Melakukan automation dengan Terraform; Melakukan monitoring pada service, aplikasi dan infrastruktur.
  11. Big Data: Intro pada big data; Melakukan processing data dengan Dataproc; Memahami konsep Extract, Transform, Load (ETL) pada Data Flow; Memahami kegunaan dari BigQuery.
  12. Machine Learning:  Memahami konsep dari Machine Learning; Membuat suatu model dengan Vertex AI; Membuat model secara otomatis dengan AutoML.
  13. Machine Learning: Melakukan training khusus pada suatu model; Memanfaatkan pre-built API pada Google Cloud, seperti Speech-To-Text API, Cloud Natural Language AI, dan sebagainya.
  14. Demo Day: Menampilkan hasil capstone project dengan Google Cloud.