Serverless computing adalah pendekatan komputasi awan yang memungkinkan pengembang membangun dan menjalankan aplikasi tanpa perlu mengelola server secara langsung. Infrastruktur tetap ada di belakang layar, tetapi pengelolaan kapasitas, provisioning, dan pemeliharaan server ditangani oleh penyedia cloud.
Serverless computing adalah model komputasi awan di mana penyedia cloud menangani seluruh infrastruktur server, termasuk pengelolaan, penskalaan, patching, dan ketersediaan sistem. Meskipun disebut serverless, server tetap digunakan; hanya saja pengembang tidak perlu berurusan langsung dengan pengaturan server tersebut.
Model ini sering digunakan untuk menjalankan fungsi kecil yang dipicu oleh event tertentu, seperti permintaan HTTP, unggahan file, perubahan database, atau pesan dari antrian. Contoh populer dari serverless computing adalah Function as a Service (FaaS), misalnya AWS Lambda, Azure Functions, dan Google Cloud Functions.
Serverless bekerja berdasarkan event-driven architecture. Ketika suatu peristiwa terjadi, platform cloud akan menjalankan fungsi yang sudah didefinisikan. Fungsi tersebut berjalan hanya saat dibutuhkan, lalu berhenti ketika tugas selesai.
| Komponen | Fungsi | Contoh |
|---|---|---|
| Fungsi / Function | Unit kode yang dieksekusi saat event terjadi. | Proses upload file, validasi data, pengiriman email. |
| Event Trigger | Pemicu yang menjalankan fungsi. | HTTP request, perubahan data, jadwal waktu tertentu. |
| Managed Runtime | Lingkungan eksekusi yang disediakan cloud provider. | Node.js, Python, Java, Go. |
| Backend Service | Layanan pendukung seperti database, storage, dan queue. | Object storage, NoSQL database, message queue. |
Tim tidak perlu mengurus provisioning server, update sistem operasi, atau pemantauan kapasitas secara manual. Hal ini mengurangi beban administrasi dan mempercepat proses pengembangan.
Serverless sangat cocok untuk aplikasi dengan trafik naik-turun. Ketika fungsi tidak digunakan, tidak ada biaya komputasi yang terus berjalan seperti pada server tradisional.
Saat permintaan meningkat, platform cloud dapat menambah instance fungsi secara otomatis. Ini membantu aplikasi tetap responsif tanpa konfigurasi manual yang rumit.
Karena fokus utama ada pada kode aplikasi, pengembang dapat merilis fitur baru lebih cepat dan melakukan iterasi dengan lebih lincah.
Walaupun menawarkan banyak keuntungan, serverless computing juga memiliki beberapa keterbatasan. Pemahaman terhadap kekurangan ini penting agar penggunaannya tepat sasaran.
Serverless dan server tradisional sama-sama menjalankan aplikasi, tetapi pendekatan pengelolaannya berbeda. Pada server tradisional, tim harus menyiapkan dan memelihara server sendiri. Pada serverless, tanggung jawab infrastruktur dialihkan ke penyedia cloud.
| Aspek | Server Tradisional | Serverless Computing |
|---|---|---|
| Pengelolaan server | Ditangani tim internal | Ditangani penyedia cloud |
| Skalabilitas | Sering perlu konfigurasi manual | Otomatis menyesuaikan beban |
| Biaya | Sering berjalan terus-menerus | Umumnya berbasis pemakaian |
| Fokus pengembang | Lebih banyak ke infrastruktur | Lebih banyak ke logika aplikasi |
Serverless sering dipakai untuk membangun API ringan, backend aplikasi web, dan layanan mikro yang merespons permintaan pengguna secara cepat.
Fungsi serverless dapat digunakan untuk memproses file yang diunggah, mengirim notifikasi, atau menjalankan tugas terjadwal secara otomatis.
Serverless cocok untuk transformasi data, validasi, dan pemrosesan event dari berbagai sumber seperti database atau message queue.
Perangkat IoT menghasilkan event dalam jumlah besar, dan serverless dapat membantu memproses data tersebut secara elastis sesuai kebutuhan.
Serverless computing adalah pendekatan modern dalam komputasi awan yang memudahkan pengembang membangun aplikasi tanpa harus mengelola server secara langsung. Dengan penskalaan otomatis, biaya berbasis penggunaan, dan operasional yang lebih sederhana, model ini sangat berguna untuk banyak skenario aplikasi.
Meski demikian, serverless bukan solusi untuk semua kebutuhan. Karakteristik seperti cold start, batas durasi eksekusi, dan ketergantungan pada platform cloud perlu dipertimbangkan sebelum digunakan. Jika dipilih pada konteks yang tepat, serverless computing dapat menjadi fondasi yang sangat efisien untuk pengembangan aplikasi modern.