Admin 03 Jun 2026 03:09

 

Apa Itu Function as a Service (FaaS)?

Definisi FaaS

Function as a Service (FaaS) adalah model komputasi yang memungkinkan developer menulis kode dalam bentuk fungsi-fungsi kecil dan mengunggahnya ke platform cloud. Platform tersebut bertanggung jawab mengeksekusi fungsi tersebut hanya ketika dipicu (trigger) oleh peristiwa tertentu, seperti permintaan HTTP, perubahan pada basis data, atau pesan pada antrian. Karena fungsi dijalankan secara on demand, pengguna hanya membayar waktu eksekusi aktual (biasanya dalam satuan milidetik) dan tidak perlu mengelola server atau infrastruktur di bawahnya.

Cara Kerja FaaS

Proses dasar FaaS melibatkan empat tahapan utama:

  1. Penulisan Kode: Developer menulis fungsi yang berfokus pada satu tugas spesifik (mis. memproses gambar, memvalidasi data).
  2. Pengunggahan: Fungsi di pack menjadi paket (biasanya zip) dan diunggah ke penyedia layanan FaaS.
  3. Pemicu (Trigger): Platform menunggu peristiwa seperti HTTP request, file upload ke storage, atau event dari message broker.
  4. Eksekusi: Ketika trigger terjadi, platform menyiapkan lingkungan (container ringan), menjalankan fungsi, kemudian menonaktifkannya kembali. Biaya dihitung berdasarkan durasi eksekusi dan memori yang dipakai.

Keuntungan Menggunakan FaaS

  • Skalabilitas Otomatis: Fungsi dapat di scale ke ribuan instance secara paralel tanpa konfigurasi manual.
  • Biaya Efisien: Hanya bayar untuk waktu eksekusi aktual; tidak ada biaya untuk server idle.
  • Pengurangan Operasional: Tidak perlu mengelola OS, patch, atau capacity planning.
  • Pengembangan Cepat: Fokus pada logika bisnis, bukan infrastruktur.
  • Integrasi Mudah: Banyak layanan cloud menyediakan trigger built in, memudahkan koneksi antar layanan.

Contoh: Sebuah startup e commerce mengunggah 10.000 gambar produk per hari. Dengan FaaS, fungsi resize image otomatis dipanggil setiap kali gambar masuk ke bucket storage, menyesuaikan ukuran tanpa menyiapkan server khusus.

Tantangan dan Batasan

Walaupun menarik, FaaS bukan solusi universal. Beberapa kendala yang sering ditemui:

  • Cold Start: Saat fungsi belum aktif, platform harus menyiapkan lingkungan baru, menimbulkan latensi (biasanya 100 500 ms).
  • Batas Waktu Eksekusi: Layanan FaaS biasanya membatasi durasi (mis. 5 15 menit). Tidak cocok untuk proses yang sangat panjang.
  • Debugging & Monitoring: Karena fungsi bersifat stateless dan dijalankan dalam container singkat, debugging memerlukan log terpusat dan tracing khusus.
  • Vendor Lock in: Setiap penyedia mempunyai API dan format paket yang berbeda, sehingga migrasi antar platform dapat menjadi rumit.
  • Penggunaan Memori: Memori yang dialokasikan memengaruhi biaya; menetapkan ukuran yang tepat memerlukan pengujian.

Contoh Layanan FaaS Populer

Layanan Penyedia Bahasa yang Didukung Durasi Maksimum
AWS Lambda Amazon Web Services Node.js, Python, Java, Go, .NET, Ruby, PowerShell, Custom Runtime 15 menit
Google Cloud Functions Google Cloud Platform Node.js, Python, Go, Java, .NET, Ruby, PHP 9 menit
Azure Functions Microsoft Azure C#, JavaScript, TypeScript, Python, Java, PowerShell, Go 5 menit (durasi dapat diperpanjang dengan Premium plan)
IBM Cloud Functions IBM Cloud Node.js, Python, Swift, Java, PHP 10 menit

Bagaimana Memulai dengan FaaS?

Berikut langkah langkah sederhana untuk memulai menggunakan FaaS:

  1. Pilih Platform: Tentukan provider yang paling sesuai dengan bahasa pemrograman dan kebutuhan integrasi Anda.
  2. Siapkan Akun Cloud: Buat akun, aktifkan layanan fungsi, dan siapkan kredensial (API key, IAM role).
  3. Tulis Fungsi: Misalnya, fungsi sederhana yang mengembalikan Hello World dalam Python:
     def handler(event, context): return { "statusCode": 200, "body": "Hello World" } 
  4. Kemas & Unggah: Zip file fungsi beserta dependensi (jika ada) dan unggah melalui konsol atau CLI.
  5. Tetapkan Trigger: Tambahkan pemicu, misalnya API Gateway untuk HTTP request.
  6. Uji & Monitoring: Lakukan pengujian via console atau curl, periksa log pada CloudWatch (AWS) atau Log Analytics (Azure).

Setelah fungsi berjalan, Anda dapat menambah variabel lingkungan, mengatur batas memori, atau mengaktifkan versi/alias untuk manajemen rilis.

Apa Itu Bug Bounty?

1750844281.jpg
Admin
1 week ago

Apa Itu Predictive Analytics?

1750844281.jpg
Admin
1 week ago

Apa Itu Firewall Dalam Keamanan Siber?

1750844281.jpg
Admin
1 week ago

Apa Itu Reinforcement Learning?

1750844281.jpg
Admin
1 week ago

Apa Itu NAT Dalam Jaringan Komputer?

1750844281.jpg
Admin
1 week ago