Beberapa tahun terakhir, istilah serverless semakin sering muncul saat orang membahas cara membangun aplikasi modern. Konsepnya terdengar sederhana: kita menulis kode, mengunggahnya, lalu platform yang mengurus sisanya. Tidak perlu menyiapkan virtual machine, tidak perlu sibuk memikirkan autoscaling, dan dalam banyak kasus juga tidak perlu membayar resource yang sedang menganggur.
Di ekosistem Alibaba Cloud, layanan yang bermain di area ini adalah Function Compute. Layanan ini dirancang untuk menjalankan potongan kode berdasarkan event atau request, tanpa kita harus mengelola server secara langsung.
Kalau kamu sudah familiar dengan AWS Lambda atau Google Cloud Functions, Function Compute berada di kategori yang sama. Bedanya, ini adalah versi dari Alibaba Cloud, dengan integrasi yang tentu lebih dekat ke layanan-layanan lain di dalam platform mereka.
Function Compute adalah layanan Function as a Service (FaaS) dari Alibaba Cloud. Dengan layanan ini, kita cukup fokus pada kode dan logika bisnis. Urusan seperti provisioning server, patching sistem operasi, load balancing dasar, dan scale in/scale out ditangani oleh platform.
Secara praktik, kita membuat satu atau lebih function, lalu function itu dijalankan ketika ada pemicu tertentu. Pemicu tersebut bisa datang dari berbagai sumber, misalnya:
Artinya, Function Compute cocok untuk workload yang memang tidak harus hidup terus-menerus seperti aplikasi monolitik tradisional.
Sebelum bicara lebih jauh soal layanan spesifik, ada baiknya melihat dulu kenapa pendekatan serverless begitu menarik.
Dalam model tradisional, menjalankan aplikasi biasanya berarti:
Masalahnya, banyak aplikasi tidak selalu sibuk sepanjang hari. Ada periode tenang, ada periode ramai. Pada model server biasa, resource sering tetap menyala walaupun tidak sedang dipakai. Di situlah serverless terasa masuk akal. Kita membayar sesuai eksekusi dan konsumsi resource aktual, bukan berdasarkan server yang terus aktif.
Untuk tim kecil atau proyek yang ingin bergerak cepat, ini sangat membantu. Fokus bisa dipindahkan dari urusan infrastruktur ke pengembangan fitur.
Secara garis besar, alurnya seperti ini:
Kalau digambarkan secara sederhana, Function Compute bekerja seperti “ruang eksekusi sementara” yang muncul ketika dibutuhkan, lalu berhenti ketika pekerjaan selesai.
Inilah salah satu alasan kenapa layanan seperti ini cocok untuk tugas-tugas yang sifatnya singkat, reaktif, dan tidak harus menjaga koneksi hidup terus-menerus.
Tidak semua aplikasi cocok dipaksa ke model serverless. Tetapi ada cukup banyak use case yang memang pas.
Beberapa contoh yang umum:
Misalnya kamu punya website yang memungkinkan user mengunggah gambar. Begitu gambar masuk ke OSS, Function Compute bisa langsung dipicu untuk membuat thumbnail, memindahkan file ke folder tertentu, atau mengirim metadata ke layanan lain.
Untuk kebutuhan seperti ini, memakai server penuh sering terasa berlebihan. Function Compute jauh lebih ringkas.
Supaya lebih mudah dipahami, ada beberapa komponen dasar yang biasanya akan sering ditemui saat mulai menggunakan layanan ini.
Service bisa dianggap sebagai wadah logis untuk mengelompokkan function. Di dalam satu service, kamu bisa memiliki beberapa function yang saling terkait dalam satu aplikasi atau satu domain kebutuhan.
Function adalah unit eksekusi utamanya. Di sinilah kode kamu berjalan. Function biasanya punya handler, runtime, batas timeout, dan alokasi memori tertentu.
Trigger menentukan kapan function dijalankan. Tanpa trigger, function hanya akan menjadi kode yang menunggu dipanggil secara manual atau dari layanan lain.
Runtime adalah lingkungan tempat kode dieksekusi, misalnya Node.js, Python, Java, PHP, atau custom container untuk kebutuhan yang lebih spesifik.
Ada beberapa alasan kenapa layanan ini menarik, terutama buat tim yang tidak ingin terlalu cepat masuk ke kompleksitas operasional.
Ini keunggulan yang paling jelas. Kita tidak perlu sibuk menyiapkan instance, mengurus patch OS, atau menghitung kapasitas dasar sejak awal.
Kalau trafik naik tiba-tiba, platform yang akan mengurus penyesuaian eksekusi selama arsitekturnya memang cocok untuk model serverless.
Function Compute terasa natural saat dipasang di tengah alur event. Begitu ada file masuk, request datang, atau job terjadwal berjalan, function bisa langsung dipicu.
Kalau aplikasi hanya sibuk pada waktu tertentu, serverless sering lebih ekonomis dibanding menjaga server aktif sepanjang waktu.
Serverless bukan berarti semua persoalan hilang. Ada beberapa hal yang justru perlu diperhatikan sejak awal.
Pada beberapa skenario, eksekusi pertama bisa sedikit lebih lambat karena platform perlu menyiapkan environment lebih dulu. Ini biasa disebut cold start. Untuk beban kerja tertentu, efeknya kecil. Untuk workload sensitif latensi, ini perlu diuji.
Function bukan tempat yang ideal untuk semua jenis proses. Kalau prosesmu sangat panjang, sangat berat, atau membutuhkan koneksi yang hidup terus-menerus, model ini mungkin bukan pilihan terbaik.
Aplikasi event-driven kadang lebih sulit dilacak daripada aplikasi monolitik biasa. Logging, tracing, dan pemetaan alur event jadi jauh lebih penting.
Semakin jauh arsitektur kamu bergantung pada layanan spesifik suatu cloud provider, semakin besar biaya pindah platform di masa depan. Ini bukan alasan untuk menghindari layanan cloud, tetapi tetap perlu disadari sejak awal.
Alibaba Cloud juga punya layanan komputasi tradisional seperti ECS. Lalu kapan memakai ECS, dan kapan memakai Function Compute?
Secara sederhana:
Kalau kamu membangun aplikasi yang perlu proses daemon, worker yang hidup terus-menerus, atau software legacy yang sulit dipecah ke unit kecil, ECS mungkin lebih tepat.
Tetapi kalau kebutuhanmu adalah menjalankan tugas-tugas kecil yang reaktif, Function Compute biasanya jauh lebih ringan secara operasional.
Supaya lebih konkret, berikut beberapa skenario yang menurut saya cukup masuk akal jika memakai Function Compute:
User mengunggah file ke OSS, lalu function otomatis:
Kamu punya frontend statis atau SPA, lalu hanya butuh beberapa endpoint sederhana untuk form, verifikasi token, atau integrasi webhook. Dalam skenario seperti ini, menyalakan server penuh kadang terlalu besar untuk kebutuhan yang sebenarnya kecil.
Task harian seperti membersihkan data, sinkronisasi cache, mengirim ringkasan email, atau menarik data dari API eksternal juga sangat cocok untuk pola serverless.
Ini juga penting. Banyak orang tertarik ke serverless karena terdengar modern, tetapi tidak semua workload cocok.
Beberapa contoh yang biasanya lebih aman tetap memakai server biasa atau container yang terus hidup:
Kalau arsitekturnya harus dipaksa terlalu jauh agar cocok dengan serverless, biasanya itu tanda bahwa pendekatannya tidak pas.
Kalau kamu sudah memakai Alibaba Cloud atau sedang mempertimbangkan membangun arsitektur yang lebih event-driven, jawabannya: ya, layak.
Function Compute bukan sekadar fitur tambahan. Ia bisa menjadi fondasi untuk banyak alur kerja modern yang membutuhkan eksekusi cepat, skalabilitas elastis, dan beban operasional yang lebih ringan.
Yang penting, pelajari layanan ini dengan ekspektasi yang tepat. Jangan melihat serverless sebagai solusi untuk semua hal. Lihat ia sebagai alat yang sangat efektif untuk masalah yang tepat.
Function Compute adalah salah satu layanan Alibaba Cloud yang menarik karena memperlihatkan bagaimana infrastruktur modern bergerak ke arah yang lebih abstrak. Kita tidak lagi selalu harus berpikir soal server terlebih dahulu. Dalam banyak kasus, yang lebih penting justru bagaimana event diproses, bagaimana kode dieksekusi, dan bagaimana alur aplikasi disusun.
Kalau dipakai di skenario yang tepat, Function Compute bisa sangat efisien, baik dari sisi operasional maupun kecepatan pengembangan.
Untuk langkah berikutnya, biasanya yang paling berguna adalah mencoba satu use case kecil lebih dulu. Misalnya:
Dari situ baru akan terasa apakah model serverless ini benar-benar cocok dengan cara kerja aplikasi yang sedang kamu bangun.
Quick Links
Legal Stuff
