Apa Itu Serverless?
Serverless adalah model komputasi cloud di mana developer tidak perlu mengelola server secara langsung. Penyedia cloud (AWS Lambda, Google Cloud Functions, Azure Functions, Cloudflare Workers) menjalankan kode sebagai fungsi yang dipicu oleh event, lalu menagih berdasarkan waktu eksekusi dan sumber daya yang digunakan. “Serverless” tidak berarti tanpa server, melainkan server dikelola sepenuhnya oleh provider.
Model ini sangat cocok untuk beban kerja yang sporadis, event-driven, atau membutuhkan skalabilitas otomatis tanpa konfigurasi manual.
Cara Kerja Serverless
Alur umum:
- Trigger — HTTP request, queue message, file upload, schedule (cron), atau event database.
- Eksekusi — Provider menjalankan fungsi dalam container ringan yang cold-start.
- Skalabilitas — Instance bertambah otomatis sesuai traffic.
- Terminasi — Setelah selesai, instance dapat dihentikan; state eksternal disimpan di database/storage.
Karena stateless, fungsi serverless harus menyimpan data di layanan eksternal (database, object storage, cache). Desain ini mendorong arsitektur yang modular dan loosely coupled.
Keuntungan Serverless
- Tidak ada manajemen server — Fokus pada kode, bukan patching/OS.
- Skalabilitas otomatis — Dari nol ke ribuan request tanpa konfigurasi.
- Bayar per penggunaan — Hanya bayar saat kode berjalan; ideal untuk traffic rendah/fluktuatif.
- Time-to-market cepat — Deploy fungsi dalam hitungan menit.
- High availability — Provider menangani redundansi dan failover.
Keuntungan ini membuat serverless populer untuk startup, API, webhook, dan pipeline data.
Biaya dan Kekurangan
Meski “bayar per penggunaan” menarik, ada biaya tersembunyi:
- Cold start — Latensi awal bisa 100ms-1s; masalah untuk aplikasi real-time.
- Biaya tinggi pada traffic besar — Untuk beban kerja stabil tinggi, VM/container bisa lebih murah.
- Vendor lock-in — API dan tooling spesifik provider.
- Batas eksekusi — Timeout (mis. 15 menit di Lambda), memori, dan ukuran payload.
- Observability — Debugging terdistribusi lebih kompleks.
Biaya juga mencakup layanan pendukung (API Gateway, database, storage). Perhitungan total cost of ownership (TCO) penting sebelum memilih.
Kapan Menggunakan Serverless?
Gunakan serverless jika:
- Traffic rendah hingga menengah dengan pola fluktuatif.
- Beban kerja event-driven (webhook, pemrosesan file, notifikasi).
- Prototipe/MVP yang butuh deploy cepat.
- Microservices dengan skalabilitas independen.
- Pipeline data/ETL ringan.
Hindari atau pertimbangkan alternatif (container/VM) jika:
- Beban kerja stabil tinggi 24/7.
- Butuh latensi sangat rendah (real-time gaming, trading).
- Proses panjang (batch berjam-jam) melebihi batas timeout.
- Kepatuhan data menuntut kontrol infrastruktur penuh.
Contoh Layanan Serverless
- AWS Lambda — Fungsi dengan ekosistem luas (S3, DynamoDB, API Gateway).
- Google Cloud Functions / Cloud Run — Fungsi atau container serverless.
- Azure Functions — Integrasi dengan ekosistem Microsoft.
- Cloudflare Workers — Edge computing dengan latensi sangat rendah.
- Vercel / Netlify Functions — Serverless untuk frontend/Jamstack.
Kesimpulan
Serverless menawarkan skalabilitas dan efisiensi biaya untuk beban kerja yang tepat, tetapi bukan solusi universal. Evaluasi pola traffic, latensi, dan TCO sebelum memilih. Banyak tim sukses menggabungkan serverless dengan container untuk mendapatkan yang terbaik dari kedua dunia.




