Function as a Service (FaaS) mewakili kategori perkhidmatan pengkomputeran awan yang menyediakan platform yang membolehkan pelanggan membangun, menjalankan dan mengurus fungsi aplikasi tanpa kerumitan membina dan menyelenggara infrastruktur yang biasanya dikaitkan dengan pembangunan dan pelancaran aplikasi. Corak seni bina ini biasanya dikaitkan dengan pengkomputeran tanpa pelayan, di mana pembangun boleh menumpukan pada menulis kod aplikasi mereka dan pembekal awan menguruskan persekitaran pelaksanaan.
Mengesan Sejarah dan Asal-usul Fungsi sebagai Perkhidmatan (FaaS)
Permulaan Fungsi sebagai Perkhidmatan (FaaS) berkait kuat dengan evolusi pengkomputeran awan. Kelahiran pengkomputeran awan pada awal 2000-an membawa Infrastruktur sebagai Perkhidmatan (IaaS) dan Platform sebagai Perkhidmatan (PaaS) menjadi perhatian. Walau bagaimanapun, pembangun masih perlu mengurus pelayan dalam kedua-dua model, walaupun kurang dengan PaaS.
Kejayaan itu datang pada 2014 apabila Amazon Web Services (AWS) memperkenalkan AWS Lambda sebagai platform FaaS yang pertama. Ia menghapuskan keperluan untuk pembangun bimbang tentang pelayan sepenuhnya. Lambda membenarkan pembangun menjalankan kod mereka sebagai tindak balas kepada peristiwa seperti perubahan pada data dalam baldi Amazon S3 atau kemas kini dalam jadual Amazon DynamoDB. Ini menandakan perubahan revolusioner dalam cara aplikasi boleh dibina dan dihantar.
Menyelam Lebih Dalam ke dalam Fungsi sebagai Perkhidmatan (FaaS)
FaaS ialah kaedah tanpa pelayan untuk melaksanakan kepingan kod modular di tepi. Daripada menggunakan keseluruhan apl atau perkhidmatan, pembangun boleh melaksanakan bit kecil fungsi yang melaksanakan satu tugas yang pasti. Fungsi ini adalah 'tanpa negara' kerana ia direka bentuk untuk jangka pendek dan dilaksanakan dalam persekitaran tanpa kewarganegaraan. Pembekal awan secara automatik mengurus sumber yang mereka perlukan untuk dijalankan dan skala.
Fungsi dicetuskan oleh peristiwa seperti permintaan HTTP, operasi pangkalan data, baris gilir, storan dan sebagainya. Pembekal melaksanakan fungsi dan mengembalikan hasilnya apabila berjaya disiapkan. Ciri utama FaaS ialah anda hanya membayar untuk masa pemprosesan sebenar fungsi dan bukan infrastruktur asas.
Membongkar Struktur Dalaman dan Mekanisme Kerja FaaS
Dalam model FaaS, logik aplikasi dibahagikan kepada fungsi berasingan. Ini diuruskan oleh platform asas dan biasanya tidak mempunyai kewarganegaraan. Setelah menerima acara, platform dengan cepat memutar sumber untuk menjalankan fungsi, memproses acara, dan kemudian menutup sumber apabila pemprosesan selesai.
- Pencetus Peristiwa: Peristiwa seperti permintaan HTTP, muat naik fail atau operasi pangkalan data mencetuskan fungsi.
- Permulaan Fungsi: Pembekal awan menyediakan fungsi untuk pelaksanaan. Ini mungkin melibatkan memulakan bekas dan memuatkan kod fungsi ke dalamnya.
- Perlaksanaan: Fungsi dijalankan dengan data acara yang disediakan.
- Respon: Fungsi memproses data peristiwa dan mengembalikan hasil. Ia juga mungkin berinteraksi dengan perkhidmatan atau pangkalan data lain sebagai sebahagian daripada pemprosesan ini.
- Menutup: Setelah fungsi selesai dijalankan, pembekal awan akan menutup sumber yang digunakan untuk menjalankan fungsi tersebut.
Ciri Utama Fungsi sebagai Perkhidmatan (FaaS)
- Didorong Peristiwa: Fungsi dilaksanakan sebagai tindak balas kepada peristiwa atau pencetus.
- Tanpa kewarganegaraan: Fungsi tidak menyimpan maklumat antara pelaksanaan.
- Boleh skala: Pembekal awan mengurus penskalaan fungsi secara automatik.
- Berumur pendek: Fungsi dijangka bermula dengan cepat, berjalan untuk masa yang singkat, dan kemudian berhenti.
- Bayar setiap Penggunaan: Harga adalah berdasarkan masa pengiraan sebenar yang digunakan oleh fungsi.
Pelbagai Jenis Fungsi sebagai Perkhidmatan (FaaS)
Walaupun konsep asas FaaS kekal sama, pembekal awan yang berbeza menawarkan produk FaaS yang berbeza sedikit. Antara yang paling popular termasuk:
Pembekal | Produk FaaS |
---|---|
AWS | Lambda |
Google Cloud | Fungsi Awan |
Microsoft Azure | Fungsi Azure |
IBM | Fungsi Awan |
Oracle | Projek Fn |
Cara Menggunakan Fungsi sebagai Perkhidmatan (FaaS), Masalah dan Penyelesaian
FaaS amat berguna untuk aplikasi yang perlu bertindak balas kepada maklumat masa nyata atau permintaan sporadis. Contohnya, ia boleh digunakan untuk pemprosesan fail masa nyata, transformasi data atau pemprosesan strim peristiwa. Walau bagaimanapun, terdapat potensi cabaran yang berkaitan dengan had masa pelaksanaan, pengurusan negeri, ujian dan penyahpepijatan. Penyelesaian termasuk reka bentuk kod fungsi yang teliti untuk mematuhi had masa pelaksanaan dan menggunakan perkhidmatan awan tambahan untuk mengurus keadaan.
Perbandingan dengan Konsep Serupa
Konsep | Penerangan |
---|---|
FaaS | Pembangun menyediakan kod fungsi. Platform ini mengendalikan semua infrastruktur secara automatik. |
IaaS | Pembangun mengurus aplikasi, data, masa jalan dan perisian tengah. Pembekal mengendalikan virtualisasi, pelayan, storan dan rangkaian. |
PaaS | Pembangun mengurus aplikasi dan data. Pembekal mengendalikan masa jalan, perisian tengah, OS, virtualisasi, pelayan, storan dan rangkaian. |
Perspektif dan Teknologi Masa Depan Berkaitan dengan FaaS
FaaS berkemungkinan akan terus berkembang dengan ekosistem tanpa pelayan yang lebih luas. Kemajuan dalam pengkomputeran tepi boleh menyaksikan FaaS menjadi lebih berleluasa di pinggir rangkaian, lebih dekat dengan sumber data. Tambahan pula, kita mungkin melihat lebih banyak persekitaran tanpa pelayan hibrid di mana FaaS digunakan bersama-sama dengan model pengiraan lain untuk bahagian aplikasi yang berlainan.
Peranan Pelayan Proksi dalam Berfungsi sebagai Perkhidmatan (FaaS)
Pelayan proksi boleh memainkan peranan dalam FaaS dengan bertindak sebagai perantara untuk permintaan daripada pelanggan yang mencari sumber daripada pelayan lain. Mereka boleh meningkatkan prestasi, menyediakan keselamatan dan mengekalkan kerahsiaan. Dalam konteks FaaS, pelayan proksi boleh digunakan untuk mengendalikan permintaan yang mencetuskan fungsi, menawarkan kawalan tambahan, pengelogan dan keupayaan pengubahsuaian.