Serverless computing diprediksi menjadi tren baru di tengah masifnya adopsi cloud computing. Bukan tanpa alasan, serverless computing memungkinkan developer untuk fokus sepenuhnya pada aplikasi atau website dan versi prototipe dengan cepat hingga langsung upload source code, tanpa memerlukan konfigurasi server.
Menurut laporan Mordor Intelligence, tren penggunaan serverless computing diprediksi akan meningkatkan pangsa pasar hingga lebih dari 23,17 persen antara 2021 dan 2026. Laporan tersebut mencatat bahwa kemudahan untuk pengembangan dan deployment tanpa syarat yang merupakan skalabilitas bawaan, memegang peranan penting dalam mendukung percepatan adopsi serverless computing di pasar.
Namun demikian, apakah serverless computing memiliki kemampuan dan kriteria yang dibutuhkan bisnis saat ini dan di masa depan? Simak penjelasan lengkap mengenai serverless computing berikut ini.
Table of Contents
Apa itu Serverless Computing?
Serverless computing adalah model cloud computing yang diperlukan untuk menjalankan aplikasi dan server tanpa perlu melakukan provisioning dan pemeliharaan infrastruktur back-end. Dengan kata lain, serverless computing bukan berarti tidak menggunakan server sama sekali, tetapi provider cloud akan mengelola infrastruktur, manajemen, monitoring, hingga merencanakan kapasitas secara otomatis sehingga pengguna dapat langsung mengembangkan dan menjalankan aplikasi atau website.
Mengutip DS Stream, dari perspektif developer, penggunaan serverless computing dapat menghemat waktu sehingga mereka dapat fokus melakukan coding dan mengembangkan berbagai fitur baru.
Dengan begitu, developer hanya perlu membeli layanan back-end dari provider cloud dengan sistem pembayaran pay-as-you-go atau dengan kata lain membayar sesuai dengan jumlah resource yang digunakan bukan pada unit kapasitas. Serverless computing hadir untuk menyederhanakan kerja developer saat menulis kode yang akan dijalankan di platform cloud dan untuk tugas spesifik lainnya.
Bagaimana Cara Kerja Serverless Computing?
Seperti yang telah disinggung sebelumnya, serverless computing bekerja dengan memetakan pengelolaan instance machine di cloud ke endpoint API sesuai permintaan pengguna. Hal ini termasuk melakukan konfigurasi dan manajemen server hingga penetapan resources yang dikonsumsi oleh aplikasi.
Dilansir dari Tech Target, cara ini memungkinkan developer tak lagi meng-hosting aplikasi atau mengurus pengelolaan instance machine sehingga dapat fokus melakukan coding di server cloud tanpa harus mengonfigurasi atau memelihara server.
Apa Manfaat Menggunakan Serverless Computing?
Setidaknya ada tiga manfaat yang dapat kamu dapatkan ketika menggunakan serverless computing. Mulai dari efisiensi biaya, peningkatan produktivitas, hingga skalabilitas lebih baik. Secara rinci, berikut manfaat menggunakan serverless computing.
Tak Perlu Manajemen Server
Meskipun memerlukan server untuk menjalankan aplikasi, developer hanya bertanggung jawab melakukan coding, sementara urusan manajemen server dilakukan oleh provider cloud sebagai third party.
Efisiensi Biaya
Skema pembayaran pay-as-you-go memungkinkan developer hanya membayar sesuai layanan yang digunakan, tanpa repot membayar biaya kapasitas yang tidak digunakan. Artinya, provider cloud akan menyediakan instance resources yang diperlukan hanya jika diminta oleh developer, termasuk ketika dibutuhkan tambahan atau pengurangan resources.
Skalabilitas Tinggi
Arsitektur serverless sangat elastis untuk menangani peningkatan atau penurunan permintaan resources. Dengan begitu, pengguna lebih mudah untuk menambah atau mengurangi unit server yang ditawarkan oleh provider cloud.
Update dan Deployment Cepat
Mengingat tidak ada persyaratan untuk meng-upload kode ke server, proses deployment dan update aplikasi versi terbaru menjadi lebih cepat. Developer dapat meng-upload satu fitur atau pembaruan secara bersamaan sesuai kebutuhan, sehingga memudahkan proses patching celah keamanan pada aplikasi.
Latensi Berkurang
Karena aplikasi tidak bergantung pada server asal, maka kode dapat dijalankan dari mana saja. Hal ini memungkinkan untuk menjalankan aplikasi di server yang berada lebih dekat dengan pengguna sehingga menurunkan latensi.
Jenis-jenis Serverless Computing
Dihimpun dari berbagai sumber, secara umum ada dua jenis layanan serverless computing, yaitu BaaS dan FaaS.
Backend-as-a-Service
BaaS atau Backend-as-a-Service merupakan layanan yang digunakan untuk mendeskripsikan aplikasi yang sepenuhnya menggabungkan layanan yang di-hosting di cloud untuk pengelolaan server. BaaS merupakan aplikasi web atau mobile yang memanfaatkan ekosistem database cloud, layanan otentikasi, dan lainnya.
Function-as-a-Service
FaaS atau Function-as-a-Service merupakan arsitektur di mana server aplikasi ditulis oleh developer, tetapi dijalankan pada container serverless computing. Berbeda dengan arsitektur tradisional, container merupakan event-triggered, yang dikelola sepenuhnya oleh third party dan mungkin bersifat ephemeral. AWS Lambda merupakan salah satu platform FaaS yang saat ini paling populer di industri.
Kekurangan Serverless Computing
Kendati digadang-gadang sebagai masa depan cloud computing, serverless computing tentu tak luput dari berbagai kekurangan, seperti berikut ini.
Debugging dan Testing Lebih Menantang
Tugas untuk mereplikasi lingkungan serverless menjadi lebih menantang, terutama saat mendeteksi bug dan error.
Masalah Keamanan
Urusan keamanan menjadi tanggung jawab provider serverless computing sehingga membuka peluang adanya serangan siber ke server dari beberapa access point. Hal ini dapat memicu peningkatan kerentanan sistem sehingga pengguna tidak dapat mengambil tindakan yang bisa mengganggu operasional bisnis.
Keterbatasan Resources
Kendati memudahkan, serverless computing bukan opsi ideal untuk penggunaan high-computing karena resource yang disediakan oleh provider sifatnya terbatas.
Latensi saat Merespons Permintaaan
Adanya kemungkinan latensi saat merespons permintaan, meningat adanya perbedaan waktu antara instance saat permintaan dikirim dengan instans saat respons diterima. Penurunan yang terjadi di antara permintaan, menyebabkan peningkatkan latensi respons sehingga server kemungkinan butuh waktu untuk start up yang membuat serverless computing tidak berguna untuk aplikasi time critical.
Kapan Waktu yang Tepat Menggunakan Serverless Computing?
Terlepas dari kekurangan teknis serverless computing, sebenarnya ada bebrapa situasi yang justru menguntungkan untuk mengadopsi solusi ini. Berikut beberapa pertimbangan waktu yang tepat untuk menggunakan serverless computing:
• HTTP yang dipicu oleh permintaan, termasuk untuk membuat layanan microservice, seperti API untuk newsletter atau registrasi.
• Arsitektur berbasis event, untuk memproses file yang masuk seperti gambar atau JSON, termasuk mengganti nama file dan mengubah ukuran secara otomatis yang disimpan ke dalam bucket.
• Ketika terjadi pola penggunaan yang tidak dapat diprediksi, misalnya saat bisnis Anda tidak mampu memperkirakan jumlah resource yang diperlukan dan khawatir kehabisan resources.
• FaaS akan menyelesaikan tugas-tugas minor, independen, dan non-compute intensif, seperti mengirim email.
Baca Juga: Pahami Seluk Beluk Cloud IoT: Tantangan dan Peluangnya
Praktik Terbaik Membangun Aplikasi Serverless
Ada beberapa tahapan yang dapat dilalui untuk membangun aplikasi serverless. Berikut tahapan praktik membangun aplikasi serverless.
Design dan Scaling
Aplikasi serverless biasanya merupakan bagian dari distributed system, sehingga kamu dapat memulainya dengan membuat aplikasi FaaS sesederhana mungkin. Perkirakan jumlah instance aktif secara tepat, pertimbangkan ketersediaan layanan dan biaya. Jika ingin menghindari biaya tak terduga, batasi maksimal jumlah instance. Hitung jumlah memori yang diperlukauntuk eksekusi fungsi dan konfigurasi batas maksimal sesuai kebutuhan penggunaan.
Debugging dan Testing
Pada tahap berikutnya, pertimbangkan tingkat kesulitan testing serverless computing dengan beberapa persiapan berikut:
• Pesiapkan logging yang andal dan terperinci.
• Monitor status eksekusi untuk mengidentifikasi kegagalan dan set notifikasi jika hal itu terjadi.
• Pastikan setiap perilaku yang tidak diharapkan selalu dipantau, jangan diam-diam ketika menemukan adanya kegagalan.
Konfigurasi dan Security
Selalu pisahkan konfigurasi dari kode aplikasi dan simpan di file berbeda, misalnya JSON atau YAML. Pastikan setiap fungsi digunakan hanya untuk tugas singkat dengan waktu eksekusi yang dapat diprediksi. Tetap pantau codebase dalam sistem kontrol di semua lingkungan pengembangan, staging, dan produksi. Hal ini dapat membatu Anda mempertahankan kode yang konsisten dan memudahkan proses deployment.
Nah, apakah sejauh ini kamu sudah paham apa saja plus minus pemanfaatan dan tren serverless computing untuk mendukung operasional bisnis di masa depan? Jika kamu merupakan salah satu orang yang bekerja di ranah IT dan berkecimpung dalam bidang cloud, saatnya tingkatkan skill dan pengetahuan kamu tentang cloud dengan mengikuti berbagai webinar, workshop, training, dan bergabung menjadi bagian dari komunitas seperti iCCom – Indonesia Cloud Community.
Pelajari Lebih Dalam Mengenai Serverless Computing Bersama iCCom
Saat yang tepat bagi kamu, profesional IT untuk bergabung menjadi anggota iCCom dan tumbuh menjadi ahli di ranah serverless computing di Indonesia. Dapatkan kesempatan untuk menghadiri serangkaian acara menarik iCCom untuk mendapatkan informasi, insight baru, hingga keterampilan mengenai perkembangan teknologi cloud.
Jelajahi lebih jauh serverless computing dan beragam seluk beluk teknologi cloud computing langsung dari para expert. Gabung bersama iCCom sekarang, GRATIS, dan nikmati semua aktvitas yang telah kami agendakan secara eksklusif hanya untuk kamu.
Tentang iCCom
iCCom atau Indonesia Cloud Community adalah komunitas bagi masyarakat dari berbagai kalangan yang antusias dengan perkembangan teknologi cloud computing di Indonesia. Sebagai organisasi non-profit, iCCom berupaya berkontribusi pada pertumbuhan sumber daya ahli cloud di Tanah Air. Kami mengajak semua pegiat cloud, mulai dari kalangan pemula hingga profesional.
Kehadiran iCCom bertujuan untuk mengembangkan keterampilan dan pengetahuan anggota untuk menjadi pakar cloud di Indonesia. Selain itu, iCCOm juga akan memberdayakan anggota untuk saling berbagi pengetahuan dan praktik terbaik mengenai cloud dengan anggota lain.
Anggota yang tergabung dalam iCCom dapat melakukan sesi jejaring dengan anggota lain agar mendapat wawasan mengenai teknologi cloud. Di samping itu, kehadiran iCCOm juga dapat meningkatkan karier anggota dengan menawarkan platform portofolio atau pengalaman mereka melalui rangkaian acara komunitas.
Lantas, apa saja benefit yang akan diperoleh dengan bergabung menjadi anggota iCCom? Kamu secara eksklusif bisa mendapat pembaruan dan berita terkini mengenai cloud, menerima undangan eksklusif ke acara iCCom, menjadi bagian dari perjalanan pembelajar bersama pada pakar cloud, bergabung dengan forum diskusi, hingga bertemu dengan sesama pegiat untuk mengeksplorasi cloud.
Jelajahi berbagai aktivitas eksklusif dan menarik bersama anggota iCCom lainnya, mulai dari workshop bersama pakar di bidang cloud, sesi mentoring dan networking, bootcamp, hingga kesempatan menulis artikel blog untuk memberikan informasi terbaru kepada sesama anggota.
Segera daftarkan diri kamu sekarang menjadi bagian dari anggota komunitas iCCOm dengan meng-klik link ini.