Oleh Glend MaatitaDiperbarui
Serverless computing membuat Anda menjalankan kode tanpa menyediakan atau mengelola server, sementara penyedia cloud menangani infrastruktur, menskala otomatis, dan menagih hanya sesuai pemakaian. Panduan ini menjelaskan apa itu serverless, cara kerjanya, manfaat dan trade-off-nya, serta bedanya dengan setup client-server tradisional.

Serverless menjadi salah satu gagasan paling kuat dalam cloud computing, membuat tim bisa mengirim fitur tanpa memikirkan server di baliknya. Meski namanya begitu, server tetap terlibat; Anda hanya tidak perlu menyediakan, menskalakan, atau memeliharanya sendiri.
Berikut penjelasan apa itu serverless, cara kerjanya, bedanya dengan setup client-server tradisional, dan di mana ia paling cocok.
Serverless adalah model cloud di mana Anda menjalankan kode aplikasi tanpa mengelola server di baliknya. Penyedia mengurus provisioning, penskalaan, patching, dan kapasitas, sehingga tim Anda fokus hanya pada kode dan fitur yang dihasilkannya.
Dalam bentuk paling umum, serverless berarti Functions as a Service (FaaS), di mana Anda men-deploy fungsi kecil bertujuan tunggal yang dijalankan platform sebagai respons atas event, seperti request HTTP, unggahan file, atau pesan di antrean.
Dengan serverless, Anda men-deploy kode dan platform menjalankannya sesuai permintaan. Ketika sebuah event memicu fungsi, penyedia menyiapkan kapasitas yang dibutuhkan, mengeksekusi kode, lalu menurunkannya kembali, semuanya otomatis. Anda ditagih hanya untuk waktu eksekusi dan sumber daya yang dipakai, bukan untuk server menganggur.
Karena penskalaan ditangani untuk Anda, sebuah fungsi serverless bisa naik dari nol ke ribuan eksekusi bersamaan lalu kembali ke nol tanpa campur tangan manual, itulah yang membuatnya sangat efisien untuk beban kerja yang tidak merata atau sulit diprediksi.
Perbedaan paling jelas adalah siapa yang mengelola infrastruktur. Dalam setup client-server tradisional, Anda mengelola server sendiri, in-house atau dengan penyedia, dan menskalakannya secara manual atau dengan kebijakan yang ditentukan, membayar biaya tetap untuk sumber daya yang Anda sediakan. Dengan serverless, penyedia mengelola infrastruktur dan menskalakannya otomatis sesuai permintaan, dan Anda hanya membayar yang benar-benar dipakai.
Perbedaan itu merembet ke seluruh alur kerja. Deployment serverless cenderung lebih sederhana dan cepat, butuh pemeliharaan minimal dari developer, dan membuat tim fokus pada kode dan fitur alih-alih infrastruktur, sementara setup tradisional melibatkan deployment yang lebih kompleks serta pemeliharaan dan update yang berkelanjutan.
Manfaat utamanya adalah skalabilitas dan biaya. Serverless menskala otomatis sesuai permintaan, sehingga Anda tak pernah over-provision atau kalang kabut saat lonjakan trafik, dan penagihan bayar sesuai pemakaiannya berarti Anda hanya membayar saat kode benar-benar berjalan, yang bisa jauh lebih murah untuk beban kerja yang naik-turun.
Serverless juga mempercepat pengiriman. Deployment lebih sederhana, pemeliharaan minimal, dan karena tak ada server yang dikelola, developer bisa menghabiskan waktunya untuk fitur alih-alih infrastruktur, yang memperpendek time to market.
Serverless sangat cocok untuk beban kerja event-driven dan bervariasi: API dan webhook, background job, tugas terjadwal, pipeline pemrosesan data, dan apa pun dengan trafik yang sulit diprediksi. Untuk beban kerja yang stabil, bervolume tinggi, atau berjalan lama, setup tradisional atau berbasis container bisa lebih hemat biaya.
Trade-off-nya perlu diketahui. Fungsi yang lama menganggur bisa mengalami jeda cold start pada request pertama, sebagian desain bisa menimbulkan vendor lock-in dengan platform penyedia tertentu, dan beban kerja yang berjalan lama atau sangat stateful lebih sulit dimasukkan ke model serverless. Timbang ini terhadap penghematan operasional sebelum memutuskan.
Platform serverless yang paling dikenal adalah layanan fungsi milik penyedia cloud: AWS Lambda, Google Cloud Functions dan Cloud Run, serta Azure Functions. Semuanya terintegrasi erat dengan sisa ekosistem tiap penyedia.
Untuk tim yang ingin serverless dengan caranya sendiri, opsi open-source seperti OpenFaaS dan Knative membawa Functions as a Service ke cluster Kubernetes, memberi Anda pengalaman developer serverless tanpa terikat pada satu public cloud.
Di 8grams, kami memakai serverless di tempat yang paling cocok, untuk API event-driven, otomasi, dan beban kerja yang naik-turun, serta memadukannya dengan container dan Kubernetes untuk layanan stabil yang berjalan lama. Kami juga men-deploy platform serverless open-source seperti OpenFaaS ketika klien menginginkan model serverless tanpa vendor lock-in.
Poin penting
Serverless adalah model cloud di mana Anda menjalankan kode tanpa mengelola server di baliknya. Penyedia menangani provisioning, penskalaan, dan pemeliharaan, dan Anda ditagih hanya untuk sumber daya yang benar-benar dipakai kode Anda.
Tidak. Server tetap terlibat; Anda hanya tak pernah menyediakan, menskalakan, atau memeliharanya sendiri. Penyedia cloud mengelola semua itu, itulah kenapa modelnya disebut serverless dari sudut pandang developer.
FaaS adalah bentuk serverless paling umum, di mana Anda men-deploy fungsi kecil bertujuan tunggal yang dijalankan platform sebagai respons atas event seperti request HTTP atau unggahan file, dan menskalakannya otomatis.
Dalam setup tradisional Anda mengelola dan menskalakan server sendiri serta membayar biaya tetap. Dengan serverless, penyedia mengelola infrastruktur, menskala otomatis sesuai permintaan, dan menagih hanya pemakaian nyata, dengan deployment lebih sederhana dan pemeliharaan lebih sedikit.
Serverless menskala otomatis sesuai permintaan, menagih bayar sesuai pemakaian sehingga Anda hanya bayar saat kode berjalan, menyederhanakan dan mempercepat deployment, serta butuh pemeliharaan minimal, sehingga developer fokus pada fitur alih-alih infrastruktur.
Cold start adalah jeda singkat yang bisa terjadi saat fungsi yang menganggur dipanggil, karena platform perlu menginisialisasinya sebelum menjalankan. Fungsi yang sering dipakai tetap hangat dan menghindari jeda ini.
Serverless cocok untuk beban kerja event-driven dan bervariasi, seperti API, webhook, background job, tugas terjadwal, dan pemrosesan data. Beban kerja yang stabil, bervolume tinggi, atau berjalan lama mungkin lebih murah di infrastruktur tradisional atau berbasis container.
Trade-off utamanya adalah latensi cold start, risiko vendor lock-in ke platform penyedia tertentu, dan kurang cocok untuk beban kerja yang berjalan lama atau sangat stateful dibanding container atau virtual machine.
Yang paling dikenal adalah AWS Lambda, Google Cloud Functions dan Cloud Run, serta Azure Functions. Opsi open-source seperti OpenFaaS dan Knative membawa serverless ke cluster Kubernetes tanpa mengikat Anda ke satu public cloud.
Bisa, terutama untuk beban kerja yang naik-turun atau bervolume rendah, karena Anda hanya membayar saat kode berjalan dan tak pernah untuk kapasitas menganggur. Untuk beban kerja stabil bervolume tinggi, setup ter-provision atau berbasis container bisa lebih murah.
Ceritakan proyek Anda, kami balas dalam satu hari kerja.
Hubungi 8grams