Apa Itu Serverless?
MakalahSerbaAda.Com - Serverless Computing menawarkan cara baru dalam merancang dan menerapkan aplikasi menggunakan layanan cloud Simak penjelasan Cloud. Tapi apa sebenarnya itu dan bagaimana cara kerjanya?
- Cloud Computing : 10 Manfaat Cloud Computing Dalam Bisnis - Makalah Serba Ada
- Mau Jadi Programer? Pemula Wajib Tau Apa Itu API (Aplication Programming Interface)
- Mau tahu apa itu Frontend, Backend dan Full Stack Developer? Yuk simak penjelasanya - Makalah Serba Ada
- Pengertian, jenis-jenis dan istilah dasar pada Framework
- Apa itu React JS? Berikut Penjelasan dan Manfaat React JS Bagi Pengembangan Proyek Anda
- Ingin Tau Apa Itu VPS Hosting? Berikut Penjelasan Lengkap Virtual Private Server (VPS)
Dalam artikel ini, kita akan mengetahui apa itu serverless computing, cara kerjanya, dan pengaruhnya terhadap pengalaman pengembangan. Kami akan membahas beberapa keuntungan yang ditawarkannya dan membicarakan beberapa skenario yang mungkin tidak sesuai. Ini akan memberi Anda latar belakang yang Anda butuhkan untuk melakukan penelitian tambahan dan mencari tahu apakah model serverless mungkin merupakan pilihan yang baik untuk proyek Anda.
Apa yang dimaksud dengan Serverless?
Serverless menjelaskan model di mana potensi pemrosesan diekspos melalui API alih-alih sebagai server yang sebenarnya. Aplikasi dapat menggunakan sumber daya komputasi untuk menjalankan kode tanpa mengelola lingkungan tempat kode akan dieksekusi.
Simak penjelasan APIDalam banyak hal, serverless mewakili iterasi logis berikutnya oleh penyedia cloud untuk mengabstraksi sumber daya bagi pengguna. Alih-alih menawarkan server virtual untuk mengakses sumber daya, penyedia menawarkan akses ke sumber daya itu sendiri menggunakan model bayar sesuai pemakaian. Melihatnya dari perspektif yang berbeda, serverless adalah layanan terkelola (mirip dengan instance database terkelola), misalnya untuk logika komputasi yang lebih umum.
Serverless Computing
Sebagian besar waktu, ketika orang menggunakan kata "Serverless", mereka mengacu pada serverless computing. Serverless computing adalah paradigma di mana pengguna dapat membuat fungsi, atau logika komputasi, yang akan dijalankan oleh penyedia saat API terkena. Karena itu, penyedia serverless computing sering disebut sebagai platform Functions as a Service (atau FaaS).
Saat developing dengan serverless computing, Anda menentukan logika yang Anda inginkan agar dijalankan oleh penyedia sebelumnya. Aplikasi Anda dapat dirancang untuk memanfaatkan sebanyak mungkin fungsi diskrit yang diperlukan. Fungsi-fungsi tersebut kemudian dieksekusi sesuai permintaan saat aplikasi memanggil kode yang berbeda melalui titik akhir yang terbuka. Setiap keluaran atau data yang dihasilkan oleh fungsi Anda dikembalikan ke pemanggil atau dipindahkan ke penyimpanan luar karena fungsi itu sendiri tidak mempertahankan statusnya.
Sebagai developer, saat bekerja dengan serverless, Anda tidak perlu khawatir tentang pemeliharaan lingkungan yang digunakan untuk mengeksekusi kode Anda. Selain itu, model ini memberikan fleksibilitas dalam menangani volume lalu lintas yang berbeda tanpa harus mengelola penskalaan. Biaya yang Anda bayar terkait langsung dengan jumlah daya komputasi yang Anda gunakan, sehingga Anda tidak perlu memperkirakan dan mengalokasikan sumber daya sebelumnya.
Serverless Databases
Serverless Databases menerapkan paradigma tanpa server ke fungsionalitas basis data. Dalam praktiknya, ini berarti bahwa backend sumber daya server, penskalaan, manajemen data diabstraksikan dari pengguna. Pengguna dapat menggunakan database sebagai layanan berbasis APISimak penjelasan API yang menghilangkan kebutuhan untuk merencanakan kapasitas untuk menangani skenario yang berbeda.
Secara umum, serverless database diimplementasikan menggunakan berjenjang arsitektur. Pengguna dapat berinteraksi dengan API atau gateway proxy yang menangani perutean ke sumber daya backend secara otomatis. Di belakang gateway, kumpulan pekerja eksekusi menangani permintaan untuk setiap kueri yang mereka terima. Data aktual disimpan di lapisan ketiga, yang dapat diakses dan dimanipulasi oleh pekerja eksekusi mana pun.
Dengan model ini, baik sumber daya komputasi dan penyimpanan dapat diskalakan secara independen di latar belakang sesuai permintaan. Pengguna tidak mengontrol penskalaan. Sebaliknya, mereka dikenakan biaya untuk kueri yang mereka jalankan dan jumlah data yang mereka simpan.
Beratnya trade-off
Sekarang kita telah berbicara tentang serverless dan bagaimana cara kerjanya secara umum dari sudut pandang pengguna, kita dapat mulai mengidentifikasi di mana solusi serverless yang cocok.
Teknologi serverless bukanlah solusi satu ukuran untuk semua. Sementara paradigma baru ini dapat menyederhanakan bagian dari siklus hidup pengembangan, penerapan, dan manajemen, paradigma ini bekerja paling baik dengan jenis beban kerja dan desain aplikasi tertentu. Mari kita lihat beberapa karakteristik aplikasi dan organisasi yang mungkin menunjukkan apakah serverless mungkin cocok.
Kapan serverless merupakan pilihan yang baik?
Lingkungan serverless mungkin cocok untuk beberapa skenario.
Jika Anda memiliki pengalaman administrasi sistem yang terbatas
Jika tim Anda tidak memiliki pengalaman administrasi sistem yang ekstensif, serverless menawarkan cara untuk melepaskan tanggung jawab tersebut. Infrastruktur yang digunakan untuk menjalankan kode aplikasi Anda dikelola oleh penyedia platform, memungkinkan Anda untuk fokus pada logika bisnis Anda. Menghilangkan manajemen infrastruktur dari daftar tanggung jawab Anda dapat membantu Anda memulai lebih cepat dan mempertahankan kecepatan saat proyek Anda matang.
Jika Anda membutuhkan skalabilitas yang hebat
Salah satu motivator utama developer pindah ke platform serverless terkait erat dengan poin sebelumnya. Arsitektur serverless membuat penskalaan menjadi sederhana dengan menghapusnya dari area yang menjadi perhatian Anda. Meskipun aplikasi Anda mungkin hanya memerlukan beberapa operasi hari ini, mungkin memerlukan lebih banyak saat Anda mendapatkan adopsi atau jika ada lonjakan penggunaan.
Platform serverless dapat beradaptasi dengan skenario ini secara otomatis. Ini berarti infrastruktur Anda tidak akan pernah kelebihan atau kekurangan penyediaan karena alokasi sumber daya mencerminkan pola penggunaan Anda secara otomatis. Anda tidak perlu mengetahui beban puncak atau rata-rata atau menguji dan mengonfigurasi kebijakan penskalaan karena penyedia Anda telah merancang solusi untuk melakukannya untuk Anda.
Jika Anda sensitif terhadap biaya
Seperti disebutkan sebelumnya, platform serverless juga cukup menarik jika biaya menjadi perhatian besar. Dengan serverless, Anda hanya membayar untuk operasi yang Anda lakukan. Anda tidak membayar untuk server fisik yang Anda butuhkan untuk berjaga-jaga jika mungkin dibutuhkan. Ini berguna di seluruh siklus hidup development. Sistem developement dan pengujian Anda dapat menggunakan platform yang sama dengan sistem produksi Anda yang membantu Anda menguji lebih akurat tanpa biaya yang terkait dengan pemeliharaan konteks khusus.
Kapan harus menghindari serverless
Model tanpa server memiliki banyak keuntungan, tetapi tidak cocok untuk setiap situasi.
Jika aplikasi Anda peka terhadap latensi atau kinerja
Arsitektur serverless mungkin tidak dapat memenuhi kebutuhan Anda. Meskipun platform serverless dapat diskalakan dengan penggunaan Anda, ada penundaan penting sebelum peningkatan penggunaan dikenali dan sistem dikonfigurasi untuk menangani permintaan baru.
Ini sering disebut masalah "cold start" dan ini mempengaruhi sistem setiap kali ada perubahan penggunaan yang mencolok. Peningkatan waktu mulai ini mengesampingkan serverless untuk banyak kasus penggunaan di mana waktu respons yang konsisten diperlukan terlepas dari tingkat aktivitas sebelumnya.
Jika Anda tidak nyaman dengan solusi berbasis cloud atau khusus vendor
Anda juga dapat memilih untuk menghindari platform serverless jika Anda merasa tidak nyaman atau tidak dapat bekerja dengan solusi berbasis cloud atau khusus vendor. Jika infrastruktur berbasis cloud bukan merupakan pilihan untuk kepatuhan, masalah privasi, atau sebagai preferensi sederhana, menggunakan platform serverless tidak akan menjadi pilihan.
Simak penjelasan CloudPlatform serverless juga mewakili kasus vendor lock-in, karena aplikasi Anda terikat dengan implementasi penyedia. Meskipun menguraikan logika aplikasi Anda menjadi kumpulan fungsi diskrit mungkin tampak membuat beban kerja Anda portabel, detail cara kerja setiap layanan kemungkinan akan mencegah Anda mengubah penyedia tanpa investasi yang signifikan dalam migrasi.
Jika Anda sudah berpengalaman dalam mengelola infrastruktur
Terakhir, serverless mungkin tidak memberi Anda banyak keuntungan jika tim Anda sudah berorientasi pada pengelolaan infrastruktur dan bekerja dengan konteks yang disediakan penerapan tradisional. Misalnya, jika Anda sudah memiliki tim DevOps yang kuat yang mengelola infrastruktur dan layanan, keuntungan yang ditawarkan serverless mungkin tidak begitu menarik.
Selain itu, developer Anda mungkin memiliki harapan terkait bagaimana mereka dapat menguji dan men-debug kode aplikasi yang mungkin tidak mungkin atau tidak dapat diakses di lingkungan serverless. Mungkin tidak mungkin untuk membuat profil fungsi yang disebarkan ke platform serverless dengan cara yang sama seperti yang dilakukan developer menggunakan infrastruktur tradisional.
Penting untuk mempertimbangkan semua treds-offs ini saat mengevaluasi serverless untuk proyek Anda. Ini adalah solusi yang bagus untuk beberapa situasi, tetapi penting untuk mengetahui apakah kasus penggunaan Anda adalah salah satunya.
Kesimpulan
Dalam artikel ini, kami fokus untuk menjelaskan apa arti sebenarnya dari "serverless" dan mengapa itu bisa menjadi pilihan yang menarik untuk banyak proyek. Kami berbicara tentang bagaimana model Fungsi sebagai Layanan memindahkan manajemen server aplikasi ke penyedia platform dan bagaimana penawaran serverless database dapat memisahkan operasi database dari penyimpanan data. Setelah itu, kami melihat skenario mana yang paling sesuai untuk desain serverless dan kapan itu mungkin bukan solusi yang tepat.
Masih banyak lagi yang harus dipelajari dalam hal aplikasi, database, penyedia, dan desain serverless. Pada pembahasan selanjutnya kami akan mengulas mengenai serverless ini dan memberikan contoh-contoh flatform serverless yang sering digunakan ole developer untuk mendeploy sebuah kode dengan API yang berkualitas. Harapan kami semoga anda selalu mengunjungi artikel kami karena dikemudian hari akan selalu artikel terbaru yang kami tulis sebagai bahan pembelajaran anda. Terimakasih ~Admin
Sumber:
www.makalahserbaada.com