Apa itu fungsi sebagai layanan (FaaS)?

10 Juli 2021

Apa itu FaaS?

Fungsi sebagai layanan (FaaS) adalah layanan komputasi-cloud yang memungkinkan pelanggan untuk menjalankan kode sebagai respons terhadap peristiwa tanpa mengelola infrastruktur kompleks yang biasanya terkait dengan membangun dan meluncurkan aplikasi layanan mikro.

Hosting aplikasi perangkat lunak di internet biasanya memerlukan penyediaan dan pengelolaan server virtual atau fisik serta pengelolaan sistem operasi dan proses hosting server web. Dengan FaaS, perangkat keras fisik, sistem operasi virtual machines, dan manajemen perangkat lunak server web semuanya ditangani secara otomatis oleh penyedia layanan cloud. Fitur ini memungkinkan pengembang untuk fokus hanya pada fungsi individu dalam kode aplikasi mereka.

Pemandangan udara dari jalan raya

Dapatkan ketenangan saat menggunakan cloud 


Dapatkan Buletin Think mingguan untuk mendapatkan panduan pakar dalam mengoptimalkan pengaturan multicloud di era AI.

FaaS versus tanpa server

Serverless dan Functions-as-a-Service (FaaS) sering kali disamakan satu sama lain, namun sebenarnya FaaS adalah bagian dari serverless.

Serverless difokuskan pada kategori layanan apa pun, baik itu komputasi, penyimpanan, database, pesan, dan API Gateway di mana konfigurasi, manajemen, dan penagihan server tidak terlihat oleh pengguna.

Namun, meskipun faaS mungkin merupakan teknologi yang paling utama dalam arsitektur tanpa server, difokuskan pada paradigma komputasi yang digerakkan oleh peristiwa di mana kode aplikasi, atau kontainer, hanya berjalan sebagai respons terhadap peristiwa atau permintaan.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Manfaat FaaS

FaaS adalah alat yang berharga untuk migrasi aplikasi yang efisien dan hemat biaya ke cloud. Berikut adalah beberapa manfaat lainnya:

  • Lebih fokus pada kode, bukan infrastruktur: Dengan FaaS, Anda dapat membagi server menjadi fungsi yang dapat diskalakan secara otomatis dan independen sehingga Anda tidak perlu mengelola infrastruktur. Fitur ini memungkinkan Anda untuk fokus pada kode aplikasi dan dapat secara dramatis mengurangi waktu ke pasar.

  • Bayar hanya untuk sumber daya yang Anda gunakan, saat Anda menggunakannya: Dengan FaaS, Anda hanya membayar ketika suatu tindakan terjadi. Ketika tindakan selesai, semuanya berhenti—tidak ada kode yang berjalan, tidak ada server diam, tidak ada biaya yang dikeluarkan. Oleh karena itu, FaaS hemat biaya, terutama untuk beban kerja dinamis atau tugas terjadwal. FaaS juga menawarkan total-cost-of-ownership yang unggul untuk skenario beban tinggi.

  • Skala naik atau turun secara otomatis: Dengan FaaS, fungsi-fungsi diskalakan secara otomatis, mandiri, dan seketika, sesuai kebutuhan. Ketika permintaan turun, FaaS secara otomatis menurunkan skala.

  • Dapatkan semua manfaat dari infrastruktur cloud yang kuat: FaaS menawarkan ketersediaan yang tinggi secara alami karena tersebar di berbagai zona ketersediaan per wilayah geografis dan dapat digunakan di sejumlah wilayah tanpa biaya tambahan.

Prinsip-prinsip dan praktik terbaik FaaS

Ada beberapa praktik terbaik yang bisa Anda ikuti untuk membuat penggunaan FaaS lebih mudah diterapkan dan lebih efektif:

  • Setiap fungsi hanya harus melakukan satu tindakan: Fungsi FaaS harus dirancang untuk melakukan satu pekerjaan dalam respons terhadap suatu acara. Buatlah cakupan kode Anda terbatas, efisien, dan ringan sehingga fungsi-fungsi dapat dimuat dan dijalankan dengan cepat.

  • Jangan membuat fungsi memanggil fungsi lain: Nilai dari FaaS adalah pada isolasi fungsi. Terlalu banyak fungsi akan meningkatkan biaya Anda dan menghilangkan nilai isolasi fungsi Anda.

  • Gunakan sesedikit mungkin pustaka dalam fungsi Anda: Menggunakan terlalu banyak pustaka dapat memperlambat fungsi dan membuatnya lebih sulit untuk menskalakan.

Kasus penggunaan FaaS

Karena memungkinkan transaksi diisolasi dan diskalakan dengan mudah, FaaS baik untuk volume tinggi dan beban kerja paralel yang memalukan. Faas juga dapat digunakan untuk membuat sistem backend atau untuk aktivitas seperti pemrosesan data, konversi format, pengkodean, atau agregasi data.

FaaS juga merupakan alat yang bagus untuk aplikasi web, backend, pemrosesan data atau aliran, atau untuk membuat chatbot daring atau backend untuk perangkat IoT. FaaS dapat membantu Anda mengelola dan menggunakan layanan pihak ketiga. Jika Anda mempertimbangkan pengembangan aplikasi Android, misalnya, Anda dapat mengadopsi pendekatan FaaS untuk menjaga biaya Anda tetap terkendali. Karena Anda hanya dikenakan biaya saat aplikasi terhubung ke cloud untuk fungsi tertentu seperti pemrosesan batch, biaya bisa jauh lebih rendah daripada menggunakan pendekatan tradisional.

FaaS juga dapat secara dramatis meningkatkan kinerja komputasi. Sebagai contoh, dua mahasiswa baru-baru ini bekerja sama dengan para insinyur IBM untuk mengeksplorasi cara memanfaatkan IBM Cloud Functions untuk simulasi Monte Carlo (metode matematis yang digunakan untuk memperkirakan hasil di masa depan dari kejadian tertentu yang sulit diprediksi) untuk memperkirakan harga saham. Simulasi Monte Carlo dianggap sebagai beban kerja komputasi berkinerja tinggi yang penting.

Kombinasi Monte Carlo dan IBM Cloud Functions memungkinkan tim untuk menjalankan komputasi dalam skala besar dan memungkinkan mereka untuk fokus pada logika bisnis. Dengan menggunakan FaaS, tim menyelesaikan seluruh simulasi Monte Carlo dalam waktu sekitar 90 detik dengan 1.000 panggilan serentak. Sebagai perbandingan, menjalankan alur yang sama melalui laptop dengan empat inti CPU membutuhkan waktu 247 menit dan pemanfaatan CPU hampir 100%.

FaaS versus PaaS, kontainer dan VM

FaaS, PaaS (Platform-as-a-Service)kontainer dan virtual machines (VMs) semuanya memainkan peran penting dalam ekosistem tanpa server. Karena FaaS adalah elemen paling sentral dan paling menentukan dari tumpukan tanpa server, ada baiknya mengeksplorasi bagaimana FaaS berbeda dari model komputasi umum lainnya yang ada di pasaran saat ini di seluruh atribut utama:

  • Waktu penyediaan: Milidetik, dibandingkan dengan menit dan jam untuk model lainnya.

  • Administrasi yang sedang berlangsung: Tidak ada, dibandingkan dengan skala geser dari mudah ke sulit untuk PaaS, kontainer, dan VM.

  • Penskalaan elastis: Setiap tindakan selalu diskalakan secara instan dan inheren, dibandingkan dengan model lain yang menawarkan penskalaan otomatis—tetapi lambat—yang memerlukan penyetelan aturan penskalaan otomatis yang cermat.

  • Perencanaan kapasitas: Tidak diperlukan, dibandingkan dengan model lain yang memerlukan campuran beberapa penskalaan otomatis dan perencanaan kapasitas.

  • Koneksi dan status yang persisten: Kemampuan terbatas untuk mempertahankan koneksi dan status harus disimpan dalam layanan atau sumber daya eksternal. Model lainnya dapat memanfaatkan http, menjaga soket atau koneksi tetap terbuka untuk jangka waktu yang lama, dan dapat menyimpan status dalam memori di antara panggilan.

  • Pemeliharaan:Penyedia FaaS mengelola semua pemeliharaan. Ini juga berlaku untuk PaaS. Kontainer dan virtual machines (VM) memerlukan pemeliharaan yang intensif, termasuk pembaruan serta pengelolaan sistem operasi, citra kontainer, koneksi jaringan, dan berbagai aspek lainnya.

  • Ketersediaan tinggi (HA) dan pemulihan bencana (DR): Sekali lagi, HA melekat pada model FaaS tanpa upaya atau biaya tambahan. Model lain membutuhkan lebih banyak biaya dan upaya manajemen. Dalam kasus VM dan kontainer, infrastruktur dapat dimulai ulang secara otomatis.

  • Pemanfaatan sumber daya: Sumber daya tidak idle—sumber daya ini dipanggil hanya atas permintaan. Semua model lainnya memiliki setidaknya beberapa tingkat kapasitas yang menganggur.

  • Batas sumber daya: FaaS adalah satu-satunya model yang memiliki  batasan sumber daya pada ukuran kode, aktivasi bersamaan, memori, panjang proses, dll.

  • Mengenakan biaya granularitas dan penagihan: Per blok 100 milidetik, dibandingkan dengan jam (dan terkadang menit) model lain.

Kubernetes/Knative dan FaaS

Kubernetes dan Knative adalah salah satu implementasi “plumbing” di balik FaaS. Kubernetes adalah sumber terbuka, alat orkestrasi kontainer yang sangat penting untuk pengelolaan aplikasi cloudKnative memungkinkan Anda menjalankan tanpa server dalam kluster Kubernetes.

Kombinasi Knative dan Kubernetes berarti Anda bisa memanfaatkan fungsi-fungsi Kubernetes seperti pemantauan, keamanan, pencatatan, dan autentikasi serta mengombinasikannya dengan manfaat Knative seperti pembuatan kontainer otomatis, portabilitas penuh, dan bekerja di seluruh lingkungan hybrid.

Para pembuat teknologi ini percaya bahwa pengembang tidak harus memilih antara tanpa server dan wadah saat membangun aplikasi cloud. Tujuannya adalah untuk meningkatkan ketersediaan dan konsistensi kontainer dengan penskalaan yang kuat dan akses on-demand tanpa server.

Solusi terkait
IBM Cloud Virtual Server for VPC

IBM Cloud Virtual Server for VPC merupakan rangkaian server virtual Intel x86, IBM Z, dan IBM LinuxONE yang dibangun pada IBM Cloud Virtual Private Cloud.

Jelajahi virtual server cloud
Hosting Web Cloud 

Server khusus IBM Cloud menyediakan solusi hosting web yang dapat diskalakan dengan lalu lintas backhaul gratis tanpa batas dan opsi penyesuaian yang luas.

Jelajahi solusi hosting web
Layanan Konsultasi Cloud 

Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara menciptakan solusi dengan berkreasi bersama, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.

Layanan cloud
Ambil langkah selanjutnya

Perkuat kehadiran web Anda dengan solusi hosting web yang andal dan aman dari IBM Cloud. Dari situs web dengan lalu lintas tinggi hingga aplikasi perusahaan, IBM Cloud Bare Metal Servers memberikan fleksibilitas, transfer data tak terbatas, dan jangkauan global yang disesuaikan dengan kebutuhan hosting Anda.

Jelajahi hosting web IBM Cloud Buat akun IBM Cloud gratis Anda