1. Pengenalan AWS Lambda & Serverless
AWS Lambda adalah layanan compute serverless dari Amazon Web Services yang memungkinkan Anda menjalankan kode tanpa perlu mengelola server. Anda cukup mengupload kode, mengkonfigurasi trigger, dan Lambda akan menangani sisanya — provisioning, scaling, patching, dan operasional server.
Konsep serverless bukan berarti tidak ada server — server tetap ada, tetapi Anda tidak perlu mengelolanya. AWS menangani seluruh infrastruktur, dan Anda hanya membayar untuk waktu eksekusi yang benar-benar digunakan (per milidetik).
Serverless vs Traditional Architecture
| Aspek | Traditional (EC2) | Serverless (Lambda) |
|---|---|---|
| Server Management | 🔴 Anda kelola OS, patch, scaling | 🟢 AWS kelola semuanya |
| Scaling | 🟡 Manual atau Auto Scaling Group | 🟢 Otomatis hingga ribuan concurrent |
| Billing | 🔴 Per jam (meski idle) | 🟢 Per milidetik eksekusi |
| Min Cost | 🔴 ~$5/bulan (t3.micro) | 🟢 $0 (free tier: 1M requests/bulan) |
| Cold Start | 🟢 Selalu running | 🟡 Ada cold start delay |
| Execution Limit | 🟢 Tidak terbatas | 🔴 Max 15 menit per invocation |
| State | 🟢 Stateful | 🔴 Stateless (perlu external storage) |
| Use Case | Long-running, stateful apps | Event-driven, API, microservices |
Bahasa Pemrograman yang Didukung
| Bahasa | Runtime | Cocok Untuk |
|---|---|---|
| Node.js | 18, 20, 22 | API, webhooks, data processing |
| Python | 3.10, 3.11, 3.12 | ML inference, data analysis, automation |
| Java | 17, 21 | Enterprise apps, heavy processing |
| Go | Provided.al2023 | High-performance, CLI tools |
| .NET (C#) | 6, 8 | Enterprise .NET apps |
| Ruby | 3.3 | Web apps, scripting |
| Custom Runtime | provided.al2023 | Bahasa apapun (Rust, PHP, dll) |