Panduan

Apa Itu Serverless? Serverless Computing Dijelaskan dengan Sederhana

Serverless adalah cara menjalankan kode di mana Anda tidak mengatur atau mengelola server apa pun sendiri. Anda menyerahkan kode Anda ke penyedia cloud, dan kode itu hanya berjalan ketika ada yang memicunya — permintaan web, file yang diunggah, notifikasi pembayaran — lalu berhenti. Biasanya Anda membayar untuk waktu kode Anda benar-benar berjalan, bukan untuk mesin yang menganggur.

Mengapa serverless penting saat membangun dengan AI

Saat Anda membangun aplikasi dengan AI dan melihat opsi hosting atau kodenya, Anda akan menemukan istilah "serverless functions", "edge functions", atau "cloud functions". Banyak platform hosting menawarkannya, dan beberapa AI builder men-deploy backend dengan cara ini. Memahami modelnya membantu Anda menjawab tiga pertanyaan praktis:

  • Biaya. Apakah aplikasi Anda akan menghabiskan uang saat tidak ada yang memakainya?
  • Kecepatan. Mengapa permintaan pertama setelah periode sepi lebih lambat?
  • Batasan. Mengapa tugas yang panjang — membuat laporan besar, memproses video — kehabisan waktu?

Penting juga untuk tahu apa yang bukan serverless: itu bukan berarti tidak ada backend. Anda tetap memiliki kode sisi server; orang lain hanya yang menjalankan mesinnya. Untuk dasarnya, lihat apa itu server.

Analogi sehari-hari

Server tradisional seperti memiliki mobil. Ia selalu ada, siap jalan kapan saja, tetapi Anda tetap membayarnya — asuransi, parkir, perawatan — entah Anda memakainya atau tidak.

Serverless seperti memesan taksi. Anda hanya membayar perjalanan yang Anda ambil, dan jika seratus orang butuh tumpangan sekaligus, seratus taksi datang. Tetapi ada jeda singkat sebelum mobil tiba (cold start), setiap perjalanan punya durasi maksimum, dan pengemudinya tidak mengingat Anda dari perjalanan terakhir (fungsinya stateless).

Cara kerja fungsi serverless

Dalam bentuk paling umum, yang disebut functions as a service:

  1. Anda menulis fungsi — potongan kode kecil yang menangani satu jenis peristiwa, seperti "tangani POST ke /api/bookings."
  2. Anda men-deploy-nya. Penyedia menyimpannya dan menghubungkannya ke pemicu: URL, jadwal, file baru di penyimpanan, pesan di antrean.
  3. Peristiwa datang. Penyedia memulai salinan fungsi Anda (atau memakai ulang yang sudah hangat), menjalankannya, dan mengembalikan hasilnya.
  4. Ia menskalakan sendiri. Jika seribu permintaan datang sekaligus, penyedia menjalankan banyak salinan secara paralel, hingga batas akun Anda.
  5. Ia menjadi idle. Ketika lalu lintas berhenti, salinan dimatikan. Tanpa sesuatu yang berjalan, Anda tidak membayar komputasi apa pun.

Fungsi serverless kecil dalam JavaScript bisa terlihat seperti ini:

export default async function handler(request) {
  const { name } = await request.json();
  return Response.json({ message: `Halo, ${name}` });
}

Tidak ada kode untuk memulai server, membuka port, atau menjaga proses tetap berjalan. Platform menangani semuanya.

"Serverless" juga dipakai lebih longgar untuk layanan terkelola lain yang menskalakan otomatis dan menagih sesuai pemakaian — misalnya basis data serverless, yang berhenti saat idle.

Istilah kunci

IstilahArtinya
Function (FaaS)Unit kode kecil yang dijalankan penyedia sesuai permintaan.
Pemicu / eventApa yang memulai fungsi — permintaan HTTP, unggahan file, timer, pesan antrean.
Cold startJeda saat salinan baru harus dimulai sebelum menangani permintaan.
WarmSalinan yang sudah berjalan dan bisa langsung merespons.
StatelessFungsi tidak menyimpan memori antar-eksekusi. Apa pun yang harus bertahan disimpan di basis data atau penyimpanan.
TimeoutWaktu maksimum yang diizinkan untuk satu eksekusi. Misalnya, batas maksimum AWS Lambda adalah 15 menit; banyak platform memiliki default yang jauh lebih singkat.
Edge functionFungsi yang dijalankan di banyak lokasi dekat pengguna, sering kali dengan batas yang lebih ketat.
Scale to zeroTidak menjalankan apa pun, dan tidak membayar komputasi apa pun, saat tidak ada trafik.

Contoh nyata: situs pemesanan kecil

Situs pemesanan sebuah studio yoga mendapat lonjakan kunjungan setiap Minggu malam saat jadwal baru diunggah, dan sangat sedikit di sisa minggu.

  • Dengan server yang selalu menyala, studio membayar mesin 24/7, berukuran untuk puncak Minggu malam, dan sebagian besar menganggur di luar itu.
  • Dengan fungsi serverless, GET /api/classes dan POST /api/bookings adalah fungsi. Lonjakan Minggu dijalankan otomatis dengan banyak salinan; pada Selasa pagi yang sepi, hampir tidak ada yang berjalan dan tagihannya mendekati nol.

Trade-off-nya juga terlihat. Orang pertama yang membuka situs pada Selasa pagi mungkin menunggu sedikit lebih lama karena cold start. Basis data harus menangani banyak koneksi singkat dari banyak salinan fungsi, yang mungkin memerlukan connection pooler. Dan jika studio nanti ingin tugas "buat PDF kehadiran tahunan untuk semua orang", tugas itu bisa melebihi batas waktu fungsi dan perlu dijalankan di tempat lain.

Kapan serverless cocok — dan kapan tidak

CocokKurang cocok
Trafik yang rendah, lonjakan, atau tidak terdugaTrafik berat yang konstan, di mana selalu-menyala bisa lebih murah
Tugas singkat request/response: API, handler formulir, webhookPekerjaan yang berjalan lama: pemrosesan video besar, impor data besar
Tim kecil yang tidak ingin mengelola serverAplikasi yang menjaga koneksi live tetap terbuka (sebagian fitur chat atau multiplayer), kecuali platformnya mendukung
Penanganan peristiwa: "saat file diunggah, buat thumbnail"Aplikasi yang perlu memegang banyak memori di antara permintaan

Kesalahpahaman umum

  • "Serverless berarti tidak ada backend." Artinya tidak ada server yang harus dikelola. Anda tetap menulis dan mengamankan kode backend.
  • "Serverless selalu lebih murah." Murah pada volume rendah, tetapi harga per permintaan bisa menumpuk pada volume tinggi yang stabil.
  • "Serverless menskalakan tanpa batas." Platform memiliki batas konkurensi, dan basis data Anda bisa menjadi hambatan jauh sebelum fungsinya.
  • "File yang disimpan di fungsi akan ada lagi di lain waktu." Penyimpanan lokal bersifat sementara. Gunakan basis data atau penyimpanan file.
  • "Scale-to-zero sama dengan serverless." Keduanya berkaitan tetapi tidak identik. Beberapa platform menjalankan aplikasi Anda sebagai server biasa yang tidur saat idle dan bangun pada permintaan berikutnya — penghematan serupa dan jeda permintaan pertama yang serupa, tetapi tanpa batas waktu per permintaan seperti fungsi.

Yang bisa Anda tanyakan ke AI builder Anda

  • "Apakah backend ini akan berjalan sebagai fungsi serverless, atau sebagai server yang selalu menyala atau tidur? Apa artinya untuk biaya?"
  • "Apakah ada tugas yang kemungkinan melebihi batas waktu platform? Jika ya, bagaimana sebaiknya kita menanganinya?"
  • "Simpan semua yang harus bertahan di basis data atau penyimpanan file, bukan di memori atau file lokal."
  • "Bagaimana koneksi basis data sebaiknya dikelola jika banyak salinan berjalan sekaligus?"
  • "Berapa jeda untuk permintaan pertama setelah aplikasi idle?"

Cara Mythex meng-host aplikasi

Mythex tidak menggambarkan hosting-nya sebagai fungsi serverless. Saat Anda mempublikasikan, aplikasi Anda berjalan sebagai aplikasi web atau kontainer biasa yang dikelola Mythex untuk Anda — tidak ada hosting yang perlu disiapkan. Ini adalah scale-to-zero: aplikasi yang dipublikasikan dan basis datanya tidur saat idle dan bangun saat ada kunjungan berikutnya, aplikasi yang sedang tidur tidak menghabiskan biaya komputasi, dan mesin tambahan hanya menyala saat lalu lintas tinggi (Pro mengizinkan hingga 3 per layanan). Basis data Postgres yang terlampir juga tidur setelah 5 menit idle dan ditagih untuk waktu ia terjaga. Jadi Anda mendapat sebagian besar manfaat "bayar sesuai pemakaian", dengan jeda permintaan pertama yang serupa setelah periode sepi. Lihat batas hosting di dokumentasi, dan panduan kami tentang web hosting dan mengurangi biaya hosting.

Pertanyaan

Apa arti serverless secara sederhana?

Serverless berarti Anda memberikan kode Anda ke penyedia cloud dan ia menjalankannya hanya saat dibutuhkan — misalnya saat permintaan masuk — tanpa Anda mengatur atau mengurus server apa pun. Biasanya Anda membayar untuk waktu kode benar-benar berjalan, bukan untuk mesin yang selalu menyala.

Apakah benar-benar tidak ada server dalam serverless?

Ada server; Anda hanya tidak mengelolanya. Penyedia menjalankan kode Anda di mesin mereka sendiri, memulainya saat permintaan datang, menambah skala saat beban tinggi, dan mematikannya saat idle.

Apa itu cold start?

Cold start adalah jeda tambahan saat fungsi serverless dijalankan setelah idle, karena penyedia harus memulai salinan baru dari fungsi itu terlebih dahulu. Jedanya bisa dari hampir tidak terasa hingga satu detik lebih, tergantung platform, bahasa, dan ukuran kode.

Apakah serverless lebih murah daripada server biasa?

Untuk aplikasi dengan trafik kecil atau tidak merata, sering kali ya, karena Anda hampir tidak membayar apa pun saat idle. Untuk aplikasi dengan trafik berat dan konstan, server yang selalu menyala bisa lebih murah. Itu bergantung pada pola pemakaian Anda dan harga penyedia.

Apa contoh platform serverless?

Contoh yang terkenal adalah AWS Lambda, Google Cloud Run functions, Azure Functions, Cloudflare Workers, serta fitur fungsi dari platform hosting seperti Vercel dan Netlify.

Mythex · Pricing · Bangun apa pun dengan AI · Template website dan aplikasi · Mythex dibandingkan · Glosarium membuat aplikasi dengan AI · Alat gratis untuk membuat aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)