Praktik pertama yang sesungguhnya: memahami spectrum compute cloud dari VM (EC2, Compute Engine, Azure VM), instance family & lifecycle, container services, hingga function serverless (Lambda, Cloud Functions, Functions). Kalian membuat VM pertama dan men-deploy function serverless dari CLI.

Setelah memahami peta fisik cloud (region/AZ) di episode 2, sekarang saatnya masuk ke praktik pertama yang sesungguhnya: compute — otak dari setiap sistem cloud. Compute adalah layanan yang kalian pakai untuk menjalankan kode, dan di episode ini kita akan membedah spektrumnya: dari VM yang paling fleksibel (EC2, Compute Engine, Azure VM), container services di tengah, hingga serverless function yang paling otomatis (Lambda, Cloud Functions, Azure Functions).
Mengapa penting? Karena hampir semua keputusan arsitektur dimulai dari pertanyaan: "di mana kode saya berjalan?" Jawabannya menentukan biaya, cara scaling, cara security, dan seberapa banyak operasional yang harus kalian tanggung. Cloud engineer yang memahami spektrum ini tahu kapan memilih VM untuk workload yang butuh kontrol penuh, dan kapan memilih serverless untuk workload event-driven yang intermittent.
VM (IaaS) ──> Container Services ──> Serverless
kontrol kontrol medium kontrol minimum
++++++ ++ +++ +
ops tinggi ops medium ops ~0Di ujung kiri, kalian mengelola semuanya (OS, patch, scaling sendiri). Di ujung kanan, provider mengelola semuanya dan kalian cukup mengirim kode. Pilihan kalian bergantung pada workload, tim, dan kebutuhan scaling.
VM disusun dari instance type — kombinasi vCPU, RAM, dan kadang GPU/storage lokal. AWS menyebutnya seperti t3.micro, GCP machine type seperti e2-standard-2, Azure seperti Standard_B2s. Kategorinya:
| Keluarga | Ciri | Contoh Workload |
|---|---|---|
| General purpose | Seimbang CPU/RAM | Web server, aplikasi enterprise |
| Compute optimized | CPU tinggi | Batch, encoding, compute-heavy |
| Memory optimized | RAM besar | Database in-memory, cache |
| Storage optimized | I/O tinggi | Database besar, data warehouse |
| GPU | Akselerasi kartu grafis | ML training (episode 23) |
Kesalahan umum pemula: memilih tipe terbesar karena "biar aman". Sebenarnya mulailah dari yang paling kecil yang memenuhi kebutuhan, lalu naikkan (right-sizing) berdasarkan metrik penggunaan — topik yang akan kita bahas tuntas di episode 16 (FinOps).
Buat VM dari CLI. AWS:
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--instance-type t3.micro \
--key-name my-keypair \
--security-group-ids sg-0123456789 \
--subnet-id subnet-0123456789 \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=lab-web}]'GCP:
gcloud compute instances create lab-web \
--zone=asia-southeast2-a \
--machine-type=e2-micro \
--image-family=ubuntu-2404-lts-amd64 \
--tags=http-serverAzure:
az vm create \
--resource-group rg-lab \
--name lab-web \
--image Ubuntu2204 \
--size Standard_B1s \
--admin-username azureuser \
--generate-ssh-keysKetiga perintah di atas melakukan hal yang sama: provision sebuah VM dari CLI, lengkap dengan jaringan, key SSH, dan tag. Ini langkah pertama dari pola pikir IaC — dari sini kita akan ke Terraform di episode 7.
Setiap VM punya status: running, stopped, terminated/deleted. Di semua provider, instance yang stopped tidak membebani biaya compute (hanya storage disk), sedangkan yang running dihitung per detik (AWS/GCP) atau per menit (Azure). Biasakan menghentikan VM yang tidak dipakai — ini kebiasaan FinOps paling murah yang bisa kalian mulai hari ini.
Warning
Selalu ingat model shared responsibility: di level IaaS, OS, aplikasi, dan patching adalah tanggung jawab kalian. VM yang dibiarkan dengan default SSH dan tanpa security group yang ketat adalah pintu masuk paling umum untuk kompromi akun cloud. Episode 6 (IAM) dan 15 (security) akan memperdalam ini.
Di antara VM dan serverless ada container services — kalian tetap mengontrol runtime, tapi provider membantu mengelola orkestrasi. Spektrumnya:
| Level | AWS | GCP | Azure |
|---|---|---|---|
| Managed Kubernetes | EKS | GKE | AKS |
| Serverless container | Fargate (dengan ECS/EKS) | Cloud Run | Container Apps |
Kalian bisa menjalankan container Docker langsung tanpa VM: AWS Fargate menghilangkan kebutuhan mengelola node, Cloud Run bahkan auto-scale ke nol. Kita akan membahas managed Kubernetes secara penuh di episode 10. Untuk sekarang, cukup pahami bahwa container adalah unit deployment modern — dan Docker yang kalian install di episode 0 akan dipakai terus.
Function as a Service (FaaS): kalian mengirim kode fungsi, provider mengelola runtime, scaling, dan ketersediaan. Biaya dihitung dari jumlah eksekusi × durasi, dan fungsi bisa scale ke nol — tidak ada biaya saat tidak dipanggil. Ini menjadikannya ideal untuk workload event-driven: upload file, webhook, API ringan, job terjadwal.
AWS Lambda dengan runtime Python:
mkdir -p ~/lambda-lab && cd ~/lambda-lab
cat > lambda_function.py <<'EOF'
def handler(event, context):
name = event.get("name", "cloud")
return {"statusCode": 200, "body": f"hello {name}"}
EOF
zip -r function.zip lambda_function.py
aws lambda create-function \
--function-name hello-cloud \
--runtime python3.12 \
--handler lambda_function.handler \
--role arn:aws:iam::123456789012:role/lambda-basic \
--zip-file fileb://function.zip
aws lambda invoke --function-name hello-cloud \
--payload '{"name":"engineer"}' out.json && cat out.jsonGCP Cloud Functions:
gcloud functions deploy hello-cloud \
--runtime python312 \
--trigger-http \
--allow-unauthenticated \
--entry-point handlerAzure Functions:
az functionapp create \
--resource-group rg-lab \
--consumption-plan-location southeastasia \
--runtime python \
--name func-lab-uniqueKelebihan:
Kekurangan (common pitfalls):
Sebagai penutup, rangkai apa yang baru kalian pelajari:
lab-web di region terdekat (pakai salah satu command di atas).hello-cloud di provider yang sama.Setelah selesai, matikan atau hapus resource yang tidak dipakai untuk menghindari biaya tak terduga.
Inti yang harus dibawa pulang:
Di episode 4 selanjutnya kita akan membahas storage dan database services — object storage (S3/Cloud Storage/Blob), block & file storage, lifecycle policy, serta managed database (RDS/Cloud SQL) dan NoSQL (DynamoDB/Firestore/Cosmos DB). Sampai jumpa di episode 4!