idwebhost Bikin Website Sekarang

Apa Itu Function as a Service? Ini Pengertian dan Contohnya

2 Okt 2024
Apa Itu Function as a Service? Ini Pengertian dan Contohnya campaign-unlimited

Apa itu Function as a Service (FaaS)? Istilah ini sangatlah populer di dunia cloud computing. Terutama jika kamu menggunakan fasilitas Amazon atau Google Cloud.

FaaS belakangan semakin populer di kalangan pengembang web atau aplikasi. Pasalnya, model komputasi awan ini memfasilitasi mereka membangun web atau aplikasi yang sangat scalable dan tangguh, tanpa perlu jadi ahli infrastruktur. 

Untuk lebih tahu soal konsep FaaS, yuk kita simak pemaparan dari tim IDwebhost mulai dari pengertian cara kerja, contoh FaaS, dan keunggulannya. 

Apa Itu Function as a Service?

Pengertian FaaS

Function as a Service atau disingkat FaaS adalah konsep terbaru komputasi tanpa server (serverless computing). FaaS ini diartikan sebagai platform yang hanya menjalankan fungsi sesuai permintaan. 

FaaS ini sangat mirip dengan Platform as a Service (PaaS), yang menawarkan komponen cloud terutama untuk aplikasi. Namun perbedaannya, FAAS tidak perlu menerapkan seluruh aplikasi di cloud. 

Sebaliknya, kamu bisa menerapkan sebagian saja. Dengan FaasS, kamu dapat menginstal fungsi, bagian dari suatu aplikasi. Fungsi ini hanya dimuat saat dibutuhkan dan dapat dijalankan secara paralel sesuai permintaan. 

Jika ada dua permintaan sumber daya secara bersamaan, maka permintaan yang tidak diperlukan akan dihapus. Jadi, kamu tinggal membayar sumber daya yang digunakan oleh fungsi kamu, dan hanya saat fungsi kamu membutuhkannya.

Jadi, dengan layanan ini, pengembang dapat membangun, menghitung, menjalankan dan mengelola aplikasi sebagai fungsi tanpa repot-repot merawat infrastruktur. 

Cara Kerja FaaS

Apa itu Function as a Service?

Berikut ini langkah-langkah umum cara kerja FaaS:

Langkah #1: Pengembangan Fungsi: Pengembang menulis potongan kode yang akan dijalankan sebagai fungsi (misalnya Node.js, Python, atau Go). Fungsi ini bisa sangat sederhana atau kompleks, tergantung pada kebutuhan aplikasi.

Langkah #2: Deployment ke Platform FaaS: Fungsi yang sudah selesai di-coding akan di-deploy ke platform FaaS. Platform ini akan mengelola semua infrastruktur yang dibutuhkan buat menjalankan fungsi tersebut. 

Langkah #3: Pemicu (Trigger): Fungsi FaaS akan dijalankan ketika ada event tertentu yang terjadi. Event ini bisa berupa permintaan HTTP, perubahan data pada database, atau pesan yang masuk ke antrian.

Langkah #4 Eksekusi: Ketika sebuah event terjadi, platform FaaS akan secara otomatis mengalokasikan sumber daya yang diperlukan untuk menjalankan fungsi tersebut. Fungsi akan dieksekusi dan menghasilkan output.

Langkah #5 Skalabilitas: Jika ada banyak permintaan yang masuk secara bersamaan, platform FaaS akan secara otomatis menskalakan sumber daya untuk menangani beban kerja yang meningkat.

Contoh Function as a Service

Berikut adalah contoh Function as a Service yang populer di dunia cloud computing:

#1 Amazon Lambda

Amazon Lambda adalah salah satu contoh layanan FaaS yang paling populer dari Amazon Web Services (AWS). Lambda membantu pengembang menjalankan kode tanpa repot-repot mengelola server secara langsung. 

Contohnya, saat kamu mengunggah gambar di server, kini fungsi Lambda akan bekerja buat kamu secara otomatis untuk mengubah ukuran gambar sesuai perangkat yang digunakan pengguna, entah itu ponsel, laptop, desktop atau tablet. 

Berikut alur kerja kerja Amazon Lambda:

  • Kamu perlu menulis dan menempelkan kode di editor kode
  • Kemudian, siapkan kode yang diperlukan untuk di-trigger oleh layanan AWS lain atau aktivitas dalam aplikasi
  • Perlu diingat, Lambda hanya akan menjalankan kode kamu saat di-trigger
  • Kamu tinggal bayar untuk waktu komputasi. Lambda menyediakan pemrosesan data secara real-time. 

#2 Google Cloud Function

Google meluncurkan layanan serverless computing dengan nama Google Cloud Function pada 2018 silam. Platform ini berfungsi untuk memfasilitasi pengembang menulis kode untuk memperluas dan menghubungkan ke layanan cloud, yaitu Google Public Cloud. 

Cloud Functions di Google Cloud Platform ditulis dalam banyak bahasa pemrograman, seperti .NET Core, Node.js, Python, Go, PHP, Ruby, Java, dan JavaScript

Pada generasi terbaru, Google Cloud Functions generasi kedua dapat dipicu langsung oleh 18 layanan Google Cloud, yang berbeda serta melalui perubahan pada Log Audit yang mencakup lebih dari 90 produk dan layanan pihak ketiga, serta permintaan HTTP. 

#3 Microsoft Azure Function (Open Source)

Azure Functions adalah contoh layanan FaaS yang diluncurkan oleh Microsoft. Ini dirancang untuk membantu pengembang mempercepat proses perancangan dan pengembangan aplikasi. 

Layanan ini di-hosting di Public Cloud milik Microsoft. Kamu hanya perlu membayar waktu yang dihabiskan untuk menjalankan fungsi setiap kali ada pemicu yang terjadi. 

Berikut ini alur kerja Microsoft Azure Function:

  • Kamu membuat sebuah aplikasi
  • Kamu membuat fungsi di dalam aplikasi
  • Fungsi dapat berbagi status dan kode
  • Kamu menggabungkan semua kode ke dalam satu file
  • Gunakan function.json titik masuk yang ditentukan untuk fungsi ke modul CommonJS kamu yang diekspor dari bundel
  • Runtime Azure Functions mengeksekusi fungsi yang diminta

#4 IBM Cloud Functions

IBM Cloud Functions adalah contoh platform FaaS yang berbasis pada Apache OpenWhisk, yakni layanan serverless computing dari IBM. Layanan ini memiliki cara kerja yang mirip dengan AWS Lambda. 

Namun keunggulannya, pengguna  dapat menggunakan layanan ini secara gratis selama 30 hari tanpa perlu menggunakan kredensial kartu kredit. Jadi. kamu bisa melakukan uji coba menjalankan layanan ini sebelum mantap membeli versi berbayarnya. 

#5 OpenFaaS (Open Source)

OpenFaaS adalah sebuah framework open source yang membantu pengembang menerapkan dan menghosting fungsi pada infrastruktur kamu sendiri atau penyedia cloud pihak ketiga. 

Sebagai platform open source, OpenFaaS memberikan lebih banyak fleksibilitas dalam hal vendor lock-in, karena kamu dapat menerapkan fungsi pada penyedia cloud yang berbeda atau infrastruktur kamu sendiri. 

Fungsi OpenFaaS berbasis pada Docker Container yang berjalan pada platform tersebut. Platform ini bertugas  menangani pemantauan, penjadwalan, dan penskalaan fungsi-fungsi ini, dan untuk itu platform tersebut perlu menyediakan persyaratan waktu proses yang ditetapkan oleh proyek OpenFaaS.

Apa Bedanya FaaS dengan Serverless Computing?

Pada dasarnya, Function as Service (FaaS) adalah bagian dari Serverless Computing. Keduanya memang saling terkait, tetapi ada perbedaan harus kamu pahami. 

FaaS, secara spesifik fokus pada fungsi. Jadi kamu hanya perlu menjalankan potongan-potongan kode (fungsi) tanpa perlu mengelola infrastruktur server.

Sedangkan serverless computing ini konsepnya lebih luas dari FaaS. Ini merujuk pada model komputasi di mana penyedia cloud mengelola semua infrastruktur, sehingga pengembang tidak perlu khawatir soal server, virtual machine atau scaling. 

Manfaat Function as a Service

Berikut ini manfaat yang dapat kamu rasakan jika menggunakan Function as a Service

  • Kecepatan Pengembang Meningkat: pengembang bisa lebih fokus para perancangan kode aplikasi tanpa repot-repot mengelola server. FaaS ini akan membantu kamu membagi server menjadi beberapa tugas yang diperluas secara otomatis dan independen. 
  • Otomatis Meningkatkan atau Menurunkan Skala: FaaS juga dapat meningkatkan atau menurunkan skala fungsi sesuai permintaan, baik secara mandiri, independen atau otomatis. 
  • Biaya Lebih Efisien: Tidak seperti penyedia layanan cloud biasa, penyedia serverless computing FaaS ini tidak akan menagih ke pelanggan mereka untuk waktu komputasi yang tidak digunakan. Dengan begitu, kamu sebagai pengguna bisa menghemat uang dalam penyediaan sumber daya dan hanya membayar sesuai fungsi yang diminta. 

Kapan Kamu Harus Menggunakan FaaS?

Apa Itu Function as Service (FaaS)?

FaaS dapat kamu gunakan ketika memiliki tugas-tugas kecil yang bisa dipecah menjadi fungsi-fungsi mandiri, atau ketika kamu ingin membangun aplikasi yang sangat scalable dan hemat biaya. 

Misalnya, contoh penerapan FaaS adalah:

  • Pengembangan Web

Kamu bisa membuat fungsi-fungsi kecil yang menangani setiap permintaan API. Misalnya, fungsi untuk autentikasi pengguna, mengambil data dari database, atau melakukan CRUD (Create, Read, Update, Delete). 

  • Analisis Data

FaaS dapat digunakan untuk memproses data secara batch atau streaming. Misalnya, kamu bisa memecah data besar menjadi potongan-potongan kecil, lalu memproses setiap potongan menggunakan fungsi FaaS yang berbeda. 

Selain itu, kamu bisa menggunakan Faas untuk setiap tahap dalam pipeline ETL (extract, transform, load). FaaS membuat pipeline ETL lebih fleksibel dan mudah dikelola. 

  • Machine Learning

Kamu bisa menggunakan FaaS untuk menjalankan algoritma machine learning pada data pelatihan. Misalnya, kamu bisa melatih model untuk klasifikasi gambar atau prediksi deret waktu. 

Setelah model dilatih, kamu bisa membuat fungsi FaaS yang menerima data baru sebagai input dan menghasilkan prediksi yang mudah diakses dan scalable. 

  • Otomatisasi Tugas

Kamu bisa membuat fungsi FaaS untuk menjalankan tugas-tugas yang berulang secara otomatis, seperti mengirim email, membuat laporan, atau backup data.

Selain itu, kamu bisa membuat fungsi FaaS yang dipicu oleh berbagai peristiwa, seperti perubahan data di database, pesan baru di antrian, atau status baru dari suatu proses.

Kesimpulan

Apa Itu Function as a Service (FaaS)? Setelah menyimak penjalasan di atas, kita bisa menyimpulkan bahwa FaaS adalah model layanan cloud yang memungkinkan pengembang menjalankan fungsi aplikasi tanpa harus memelihara infrastruktur dan server. 

Ini menjadi bagian dari serverless computing, tetapi cara kerjanya aplikasi dipecah menjadi fungsi-fungsi terpisah. Fungsi-fungsi ini akan dikeluarkan hanya jika ada pemicu (permintaan). 

Jadi pengguna hanya tinggal membayar sumber daya yang digunakan untuk meminta fungsi-fungsi tersebut, alias lebih menghemat biaya. 

IDwebhost menyediakan layanan Cloud VPS Murah dengan teknologi SSD ini menjadi pilihan tepat bagi yang mengutamakan kestabilan, kecepatan dan keamanan.

Ade Gusti

Member since 7 Aug 2024