top of page

Menjelajahi Serverless: Tren Terkini di Cloud Engineering

Writer: Bisma AviantaraBisma Aviantara

Istilah serverless selalu muncul dalam pembahasan cloud computing. Tentu ini bukan hal asing bagi para cloud engineer pemula maupun profesional berpengalaman. Jika diartikan secara langsung serverless adalah tanpa server. Apakah maksudnya cloud engineer dapat menjalankan program atau kode aplikasi web tanpa memerlukan server, storage, dan memory?

Tentu bukan demikian. Pada proses cloud computing tetap menggunakan server yang disediakan oleh provider cloud. Sehingga pengguna tidak perlu menyiapkan tempat penyimpanan data, berapa besar memori yang diinginkan, dan tidak pusing menentukan servernya. Jadi akan lebih fokus membuat solusi untuk masalah-masalah penting lainnya pada website dan aplikasi.

Anda tertarik menjelajahi severless yang menjadi tren terkini di cloud engineering? Ikuti pembahasan berikut.

Pengenalan Serverless di Dunia Cloud Computing

Serverless adalah layanan yang dikelola dan dipelihara secara penuh oleh provider cloud. Dengan layanan ini developer akan lebih fokus mengembangkan aplikasinya tanpa repot memelihara infrastruktur server. Untuk mendukung arsitektur tanpa server, penyedia cloud telah menyediakan layanan penyimpanan file, database, komputasi, autentikasi, logging, notifikasi, layanan email, api gateway, monitoring, dan sebagainya.

Konsep serverless juga disebut Backend As a Service (BaaS) atau Function As a Service (FaaS). Karakteristiknya adalah kode program dianggap sama dengan fungsi yang dibuat terpisah tanpa harus menyediakan hardware. Bisa digunakan berulang-ulang sesuai kebutuhan.

Dari segi penyedia cloud, serverless merupakan sebuah kerangka yang berisi konfigurasi atau sekumpulan proses standar untuk mengalokasikan storage, memori, dan server. Sering juga digunakan untuk layanan lain supaya kode program yang dibuat dapat berjalan dengan efisien dan efektif dari segi pemakaian sumber daya.

Serverless memang desain program yang masih baru. Meski begitu jangan khawatir tentang infrastruktur dan manajemen cloud, karena penggunanya hanya diminta menulis kode untuk menjalankan program.

Karakteristik Serverless

Berikut beberapa karakteristik tanpa server yang perlu dipahami cloud engineer.

  1. Stateless berarti serverless tidak menyimpan state apapun. Setiap interaksi tidak membawa pengetahuan tentang interaksi sebelumnya. Karena itu pengguna harus melakukan pemanggilan ulang terhadap program atau kode yang dijalankan.

  2. Hostless karena semua diatur oleh kerangka cloud provider membuat pengguna tidak mengetahui tentang server yang digunakan, berapa besar memorinya, maupun alamat IP.

  3. Low barrier to entry maksudnya pengguna cloud bisa lebih fokus mengembangkan solusi dan logika di program atau kode. Tidak perlu lagi memikirkan hal-hal berkaitan dengan sumber daya cloud.

  4. Elasticity berhubungan dengan kemampuan untuk berkurang, bertambah, muncul, atau hilang. Efektivitas dan efisiensi serverless membuat kode atau program ditambahkan ke beberapa memori atau server secara otomatis.

  5. Event driven berarti pengguna serverless dapat memanggil atau mengeksekusi kode program menggunakan event message dari program lain.

  6. Distributed yang dimaksud adalah kode program dapat tersebar di beberapa storage dan server berbeda dengan menggunakan sistem jaringan.

Perbedaan Serverless dan Tidak

Ada dua perbedaan ketika developer menggunakan computing tanpa server. Pertama dalam sistem pembayaran. Jika sebelumnya harus memilih paket hosting berdasarkan bandwidth, RAM, harga, dan pertimbangan lainnya. Developer tetap harus membayar penuh meski tidak memakai seluruh kapasitas yang tersedia. Sementara di serverless hanya membayar sesuai penggunaan.

Tagihan akan bertambah saat kode atau fungsi berjalan, dan tidak ikut naik ketika tidak digunakan. Perbedaan kedua terdapat pada model aplikasi serverless umumnya tidak disarankan untuk fullstack app. Karena computing tanpa server ini dibatasi oleh waktu eksekusi dalam setiap pemanggilannya. Setiap provider memiliki cara penulisan serverless function yang memberikan respon dan menerima event.

Itulah yang membuat masing-masing kode mudah dimodifikasi, dan fokus pada satu tugas saja. Penyedia jasa serverless yang populer saat ini adalah Netify, Vercel, AWS Lambda, Microsoft Azure dan masih ada lainnya.

Penggunaan Serverless

Anda dapat menggunakan serverless ketika ingin membuat API yang tidak terhubung langsung dengan tampilan dan aplikasi frontend. Atau saat membuat fungsi sederhana tanpa harus menginstall web framework, menyediakan hosting, dan lain sebagainya.

Dengan serverless Anda hanya harus menuliskan kode yang ditempatkan pada satu file, kemudian dijalankan oleh provider cloud serverless. Penggunaan tanpa server di cloud engineering juga bisa untuk membagikan tugas-tugas yang tidak harus diletakkan pada satu codebase yang sama.

Fokus Utama Serverless

Ada beberapa poin yang menjadi fokus utama dalam serverless computing. Berikut diantaranya:

  1. Service integration berarti seluruh layanan terintegrasi.

  2. Scalability dengan auto scaling tetap mudah meski terjadi lonjakan pengunjung.

  3. Availability yakni layanan bekerja nonstop tanpa down, kecuali saat deploy kode error.

  4. Cost reduction adalah penghematan biaya pengelolaan infrastruktur cloud computing.

  5. Minimal deployment yaitu konfigurasi minimal tanpa perlu log in settingan utama.

  6. Monitoring tak terbatas hanya melihat pemakaian sumber lewat CLI.

  7. Manageable yakni manajemen yang cepat dan mudah dengan mengutamakan kenyamanan pengguna.

Kelebihan dan Kekurangan Serverless

Kehadiran teknologi baru ini tidak luput dari kelebihan dan kekurangan. Jika membicarakan kelebihan serverless, beberapa hal yang harus diketahui adalah:

  1. Scaling terjadi otomatis sesuai kebutuhan aplikasi yang dibuat (continuous scaling).

  2. Developer tidak perlu memikirkan server (no servers to manage).

  3. Efisiensi biaya karena pembayaran dihitung sesuai penggunaan.

  4. High availability (HA) membuat pengguna tidak lagi membuat arsitekturnya. Fitur ini sudah tersedia bersama fault tolerance dalam layanan penyedia serverless.

  5. Adapun kekurangan dari cloud tanpa server adalah beberapa hal berikut:

  6. Belum bisa support semua bahasa pemrograman. Contohnya serverless computing dari AWS yang hanya mendukung program Javascript, Python, dan Java saja.

  7. Biaya dapat membengkak karena sistem pembayaran yang dihitung sesuai pemakaian. Beberapa provider serverless computing biasanya menyediakan fitur notifikasi untuk mengingatkan pengguna pada batasan fungsi.

  8. Karakteristik stateless membuat program atau kode tidak selamanya tersimpan di memori server. Kalau ada event yang masuk akan langsung direspon.

  9. Black box membuat sebagian orang tidak leluasa dalam mengkonfigurasi server yang digunakan. Hal ini menjadi pertimbangan sebelum menggunakan serverless.

Apakah Anda tertarik menggunakan teknologi ini? Kehadiran serverless memang membuat developer tidak perlu mengurus, mengatur, maupun memelihara server dalam menjalankan website atau aplikasi. Karena semua sudah ditangani oleh pihak layanan jasa cloud computing. Silahkan pertimbangkan kelebihan dan kekurangan serverless tadi agar tidak salah langkah.

Contoh Teknologi Serverless

Teknologi serverless paling terkini adalah Amazon Web Service atau AWS. Memiliki ekosistem yang sangat mendukung development aplikasi baru hingga ke masalah penyimpanan basis data. Berikut beberapa contoh lain dari teknologi serverless:

  • AWS meliputi AWS Lambda, AWS Api Gateway, AWS Fargate, dan lain-lain.

  • Microsoft Azure Functions.

  • Google Cloud Platform

  • Oracle Cloud

  • IBM Cloud Function berbasiskan Apache OpenWhisk.

  • Huawei Cloud FunctionStage

  • Alibaba Cloud Function Compute

Demikian penjelasan tentang serverless, kelebihan dan kekurangannya, serta contoh teknologi yang ada saat ini. Semoga menambah pengetahuan Anda yang ingin mendalami profesi cloud engineer.




Comments


bottom of page