Cloud Computing Basics — DevOps

Apa itu Cloud Computing? Cloud computing adalah penyediaan resource komputasi (server, storage, database, networking) melalui internet, dengan model bayar…

Cloud computing artinya menyewa sumber daya komputer (server, penyimpanan, database, jaringan) lewat internet dari sebuah provider, lalu membayar sesuai pemakaian. Bayangin kamu mau jualan nasi goreng. Kamu bisa membangun dapur sendiri lengkap dengan kompor dan gas (on-premise), menyewa dapur bersama yang kompor dan listriknya sudah ada lalu memasak sendiri (IaaS), menitipkan resep dan bahan ke dapur katering yang menyalakan kompor dan merawat dapurnya sementara kamu menentukan menu dan berapa juru masak yang bertugas (PaaS), memakai juru masak panggilan yang datang cuma kalau ada pesanan dan dibayar per piring (FaaS), atau langsung makan di warung orang (SaaS). Makin ke kanan, makin sedikit yang kamu urus, dan makin sedikit juga yang bisa kamu atur.

🧪 Tebakan cepat: catatan-api jalan di web-1, sebuah VPS sewaan. Ubuntu-nya dapat patch keamanan baru. Siapa yang harus menjalankan sudo apt upgrade: kamu, atau provider VPS-nya? Tebak dulu, jawabannya ada di bagian "Siapa mengurus apa".

Siapa mengurus apa

Kelima model itu dibedakan dari satu pertanyaan: lapisan mana yang kamu urus, dan mana yang diurus provider. Ini tabel yang kamu isi di Lab (K = kamu, P = provider):

Lapisan On-premise IaaS PaaS FaaS SaaS
Kode aplikasi K K K K P
Proses server dan jumlah instance K K K P P
Runtime (Node 20) K K P P P
Sistem operasi dan patch K K P P P
Server virtual (CPU, RAM, disk) K P P P P
Gedung, listrik, jaringan fisik K P P P P

Ringkasnya: IaaS dikelola dari OS ke atas, PaaS dari aplikasi ke atas, SaaS tinggal pakai.

Contoh nyata

Model Contoh catatan-api di model ini
IaaS AWS EC2, DigitalOcean Droplet, Google Compute Engine web-1: SSH, apt upgrade, systemd, Docker
PaaS Heroku, Railway, Render, Google App Engine git push, platform yang build dan menjalankan
FaaS AWS Lambda, Cloudflare Workers tiap route jadi function
SaaS Gmail, Slack, Notion, Figma gak ada yang di-deploy

EC2 (Elastic Compute Cloud) adalah layanan Amazon untuk menyewa virtual server, contoh IaaS yang paling terkenal. Provider besar lainnya: Google Cloud (GCP), Microsoft Azure, dan DigitalOcean yang lebih sederhana. PaaS dan FaaS dibahas di dua pelajaran berikutnya.

Region dan zone

Region adalah lokasi geografis tempat provider punya data center, misalnya AWS ap-southeast-3 (Jakarta), ap-southeast-1 (Singapura), dan us-east-1 (Virginia, Amerika). Pilih region yang dekat dengan pengguna. Waktu tempuh contoh dari pengguna di Jakarta:

Region Waktu bolak-balik (contoh)
Jakarta 5 ms
Singapura 20 ms
Virginia, Amerika 230 ms

Tiap region terbagi jadi beberapa availability zone (AZ): data center terpisah dengan listrik dan jaringan sendiri, misalnya ap-southeast-3a dan ap-southeast-3b. Satu zone mati karena listrik, server di zone lain tetap jalan. Server yang penting dipasang di minimal dua zone.

Cara bayar

Angka di bagian ini contoh untuk berhitung, bukan harga terkini. Cek halaman harga provider sebelum memutuskan.

Egress: biaya data keluar

Data yang masuk ke cloud biasanya gratis, tapi data yang keluar ke internet (egress) dibayar per GB. Dengan harga contoh 100 GB pertama gratis lalu $0,09 per GB, catatan-api yang mengirim 1.100 GB sebulan membayar 1.000 × $0,09 = $90 untuk egress saja. Di sinilah CDN dari pelajaran Caching Strategies menghemat uang: request yang dijawab edge gak keluar dari server-mu.

Di latihan: menebak model dari nama layanan

classifyService(serviceName) mengembalikan model sebuah layanan dari namanya. Ubah dulu ke huruf kecil dengan toLowerCase(), lalu cek kata kuncinya dengan includes:

Nama mengandung Hasil
ec2, vps, droplet, vm "IaaS"
vercel, heroku, railway, app engine "PaaS"
gmail, slack, notion, figma "SaaS"
selain itu "Unknown"

Jadi "AWS EC2" jadi "IaaS", "DigitalOcean Droplet" jadi "IaaS", "Vercel" jadi "PaaS", "Gmail" jadi "SaaS", dan "Custom API" jadi "Unknown". FaaS gak ada di daftar latihan ini, jadi "AWS Lambda" juga "Unknown".

⚠️ Jebakan yang sering ketemu

TL;DR: Cloud computing = menyewa server, penyimpanan, database, dan jaringan lewat internet, bayar sesuai pemakaian. Bedanya model ada di siapa mengurus apa: IaaS (EC2, Droplet, VPS seperti web-1) kamu urus dari OS ke atas, PaaS (Heroku, Railway, Render) kamu urus aplikasinya saja, FaaS (Lambda) cuma function-nya, SaaS (Gmail, Slack, Notion) tinggal pakai. EC2 = Elastic Compute Cloud, layanan VM Amazon. Pilih region dekat pengguna dan sebar server penting ke dua availability zone. Bayar on-demand per jam, reserved lebih murah dengan komitmen 1 atau 3 tahun, spot paling murah tapi bisa dihentikan, dan ingat egress (data keluar) dibayar per GB.

Yang akan kamu pelajari