Apa itu Serverless Computing ?

Apa itu Serverless Computing ?

Apa itu Serverless Computing ?
Serverless Computing adalah metode untuk menyediakan layanan backend berdasarkan as-bekas. Penyedia Serverless memungkinkan pengguna untuk menulis dan menggunakan kode tanpa perlu khawatir tentang infrastruktur yang mendasarinya. Perusahaan yang mendapatkan layanan backend dari vendor tanpa server dibebankan berdasarkan perhitungan mereka dan tidak harus memesan dan membayar sejumlah bandwidth atau jumlah server yang tetap, karena layanan ini scaling otomatis. Perhatikan bahwa meskipun disebut tanpa server, server fisik masih digunakan tetapi pengembang tidak perlu menyadarinya.

Pada hari-hari awal web, siapa pun yang ingin membangun aplikasi web harus memiliki perangkat keras fisik yang diperlukan untuk menjalankan server, yang merupakan usaha yang rumit dan mahal.

Kemudian datang cloud, di mana sejumlah server atau jumlah ruang server yang tetap dapat disewa dari jarak jauh. Pengembang dan perusahaan yang menyewa unit ruang server tetap ini umumnya melakukan pembelian berlebih untuk memastikan bahwa lonjakan lalu lintas atau aktivitas tidak akan melebihi batas bulanan mereka dan merusak aplikasi mereka. Ini berarti bahwa banyak ruang server yang dibayar biasanya menjadi sia-sia. Vendor cloud telah memperkenalkan model penskalaan otomatis untuk mengatasi masalah ini, tetapi bahkan dengan penskalaan otomatis lonjakan aktivitas yang tidak diinginkan, seperti Serangan DDoS, dapat berakhir menjadi sangat mahal.

Serverless Computing memungkinkan pengembang untuk membeli layanan backend berdasarkan fleksibel ‘pay-as-you-go’, yang berarti bahwa pengembang hanya perlu membayar untuk layanan yang mereka gunakan. Ini seperti beralih dari paket data ponsel dengan batas tetap bulanan, ke yang hanya mengenakan biaya untuk setiap byte data yang benar-benar digunakan.

Istilah ‘serverless’ agak menyesatkan, karena masih ada server yang menyediakan layanan backend ini, tetapi semua ruang server dan masalah infrastruktur ditangani oleh vendor. Tanpa server berarti bahwa pengembang dapat melakukan pekerjaan mereka tanpa harus khawatir tentang server sama sekali.

Apa itu layanan backend? Apa perbedaan antara frontend dan backend?
Pengembangan aplikasi umumnya dibagi menjadi dua bidang: frontend dan backend. Frontend adalah bagian dari aplikasi yang dilihat dan berinteraksi dengan pengguna, seperti tata letak visual. Backend adalah bagian yang tidak dilihat pengguna; ini termasuk server tempat file aplikasi tinggal dan database tempat data pengguna dan logika bisnis tetap ada.

Frontend vs Backend Aplikasi
Misalnya, mari kita bayangkan sebuah situs web yang menjual tiket konser. Ketika pengguna mengetik permintaan ke jendela browser, browser mengirim permintaan ke server backend, yang merespons dengan data situs web. Pengguna kemudian akan melihat bagian depan situs web, yang akan menyertakan teks, gambar, dan bidang formulir untuk diisi oleh pengguna. Pengguna kemudian dapat berinteraksi dengan salah satu bidang formulir di frontend untuk mencari tindakan musik favorit mereka. Ketika pengguna mengklik ‘kirim’, ini akan memicu permintaan lain ke backend. Kode backend memeriksa databasenya untuk melihat apakah pemain dengan nama ini ada, dan jika demikian, kapan mereka akan bermain berikutnya, dan berapa banyak tiket yang tersedia. Backend kemudian akan meneruskan data itu kembali ke frontend, dan frontend akan menampilkan hasilnya dengan cara yang masuk akal bagi pengguna. Demikian pula, ketika pengguna membuat akun dan memasukkan informasi keuangan untuk membeli tiket, komunikasi bolak-balik antara frontend dan backend akan terjadi.

Apa jenis layanan backend yang dapat disediakan oleh komputasi tanpa server?
Sebagian besar penyedia serverless menawarkan layanan database dan penyimpanan kepada pelanggan mereka, dan banyak juga yang memiliki platform Function-as-a-Service (FaaS), seperti Cloudflare Workers. Platform ini dapat mengeksekusi potongan kode di tepi tanpa menyimpan data apa pun.

Apa keuntungan dari komputasi tanpa server?
Biaya lebih rendah – Komputasi tanpa server umumnya sangat hemat biaya, karena penyedia layanan backend cloud tradisional (alokasi server) sering mengakibatkan pengguna membayar ruang yang tidak digunakan atau waktu CPU yang tidak digunakan.
Skalabilitas yang disederhanakan – Pengembang yang menggunakan arsitektur tanpa server tidak perlu khawatir tentang kebijakan untuk meningkatkan kode mereka. Vendor tanpa server menangani semua penskalaan sesuai permintaan.

Kode backend yang disederhanakan – Dengan FaaS, pengembang dapat membuat fungsi sederhana yang secara mandiri melakukan satu tujuan, seperti membuat panggilan API.
Perputaran yang lebih cepat – Arsitektur tanpa server dapat secara signifikan memotong waktu ke pasar. Alih-alih membutuhkan proses penyebaran yang rumit untuk meluncurkan perbaikan bug dan fitur baru, pengembang dapat menambahkan dan memodifikasi kode secara bertahap.

Tag: