Komputasi tanpa server dan solusi Function-as-a-Service yang bekerja pada dasarnya membantu pengembang mengembangkan produk dengan fokus pada fitur bisnis. Kami bereksperimen dengan teknologi ini dan sampai pada kesimpulan bahwa solusi yang ada untuk penggunaan pertempuran masih lembab. Ayo pergi secara berurutan.
Istilah komputasi tanpa server agak menyesatkan - tentu saja, server tetap menjadi inti dari produk, tetapi pengembang tidak perlu mengkhawatirkannya. Pada intinya, Tanpa Server melanjutkan ide virtualisasi yang sama seperti teknologi aaS sebelumnya: memungkinkan tim untuk fokus pada pengembangan kode dan fitur. Jika IaaS adalah abstraksi peralatan, kontainer adalah abstraksi aplikasi, maka FaaS adalah abstraksi logika bisnis suatu layanan.
Idenya bukan untuk mengemas server aplikasi, database, penyeimbang beban ke dalam wadah. Pengembang dapat mengisolasi fungsi dalam kode, memuatnya di platform cloud, dan menjalankannya saat diperlukan. Menyediakan contoh, menerapkan kode dan mengalokasikan sumber daya, meluncurkan antarmuka web, memantau kesehatan, memastikan keamanan - semua ini terjadi secara otomatis.
FaaS memberikan fleksibilitas maksimum dalam manajemen kinerja - selama waktu henti, fungsinya tidak menghabiskan sumber daya apa pun, dan jika diperlukan, platform dengan cepat mengalokasikan kapasitas, yang akan cukup untuk hampir semua beban kerja. Melayani aplikasi untuk satu pengguna atau seratus ribu sekaligus - kinerja sistem dengan arsitektur FaaS sebenarnya tidak menderita, dan produk dengan arsitektur tradisional pasti akan mengalami masalah.
Tim tidak khawatir tentang proses backend dan penerapan. Dalam kondisi ideal, penerapan fitur baru dikurangi menjadi mengunggah satu fungsi ke server. Akibatnya, perkembangan bergerak lebih cepat, Time-to-Market merayap turun. Dan di perusahaan secara keseluruhan, implementasi FaaS membantu mengembangkan pendekatan platform - untuk komputasi Tanpa Server, diperlukan kumpulan sumber daya cloud dari penyedia atau klaster Kubernetes.
Serverless-. : Lambda Amazon KNative. Amazon, Kubernetes.
Amazon Lambda โ , . , , , .
ยซยป โ , . , , , .
KNative โ , Kubernetes.
Lambda, , . :
Event source โ FaaS-, . HTTP-, ,
Broker โ ยซยป, Event Source. Kafka, ..
Trigger โ Broker , ยซยป Service.
Service โ , -.
, , : (1) , (2) Docker-, (3) .
KNative โ , FaaS- . , , .
FaaS
, 0 100%:
, . / , , .
(push, email, ).
, , โ . Serverless , .. . , , .
Serverless:
. , , .
โ AWS, Microsoft Azure Google Cloud. Kubernetes .
FaaS โ ยซ ยป, . , DDD. , . . .
โ Serverless
... Asalkan pengembang akan mengembangkan arah ini, khususnya - untuk mengembangkan platform open source ke level yang sama dengan Amazon Lambda.
Motivasi untuk proyek semacam itu dapat berupa pengurangan biaya sumber daya, peningkatan pengelolaan produk intensif energi yang besar. Namun untuk saat ini, pengembang mungkin merasa lebih mudah untuk bekerja dengan cara lama. Memiliki Serverless dan kemampuan untuk menggunakan alat-alat ini adalah bagasi yang baik, perusahaan harus menunggu beberapa tahun sebelum menggunakannya dalam pertempuran.