Log in to leave a comment
No posts yet
Era serverless telah berlalu dan era agen cerdas telah tiba. Di tahun 2026 ini, Cloudflare Dynamic Workers memamerkan kecepatan eksekusi 100 kali lebih cepat daripada kontainer dengan mengandalkan teknologi V8 Isolate. Menyebarkan jutaan worker ke seluruh dunia adalah pemandangan yang luar biasa, namun di balik metrik performa yang memukau, tersembunyi utang keamanan yang harus kita bayar.
Membangun arsitektur di lingkungan tanpa sistem file dan dengan memori bersama adalah permainan tingkat yang sama sekali berbeda. Jangan sampai Anda terlena oleh angka performa dan mengabaikan dasar-dasar keamanan serta operasional. Dari sudut pandang seorang Arsitek Utama, saya telah merangkum empat pilar utama yang harus diperhatikan oleh para praktisi.
V8 Isolate mengisolasi sumber daya secara logis di dalam satu proses tunggal. Ringan, namun berisiko. Karena berbagi ruang memori, ia secara inheren terpapar pada serangan side-channel seperti Spectre.
| Model Isolasi | Teknologi Dasar | Tingkat Isolasi | Latensi Cold Start |
|---|---|---|---|
| Isolate | V8 Engine | Isolasi Logis | Kurang dari 1ms |
| Container | Linux Namespaces | Isolasi Tingkat Kernel | 100ms ~ 1s |
| MicroVM | Firecracker | Virtualisasi Perangkat Keras | 100ms atau lebih |
Cloudflare memperkenalkan Memory Protection Keys (MPK) untuk mengatasi batasan perangkat keras ini. Data eksperimen menunjukkan bahwa saat MPK diterapkan dengan 12 kunci, probabilitas penyerang mencuri data dari isolate lain turun menjadi kurang dari 8%. Ini berarti lebih dari 92% kasus diblokir di tingkat perangkat keras.
Ditambah lagi dengan teknologi Pointer Cage yang menghapus semua pointer di dalam heap memory dan membatasi ruang alamat virtual hingga 4GiB. Ini adalah komitmen untuk tidak menyerahkan seluruh izin proses meskipun terjadi serangan korupsi heap. Namun, tidak ada perisai yang sempurna. Tetap gunakan strategi Defense in Depth dengan memisahkan data yang sangat sensitif ke subdomain terpisah atau namespace yang terisolasi.
Ketika worker yang dibuat secara dinamis berkomunikasi dengan API eksternal, bagaimana Anda memastikan permintaan tersebut aman? Bagaimana jika pengembang secara tidak sengaja mengirimkan data ke tempat yang salah? Untuk mengatasi masalah ini, Anda harus memanfaatkan lapisan proxy Outbound Workers dari Workers for Platforms (WFP).
Arsitek dapat memblokir koneksi TCP langsung (connect()) dari worker pengguna dengan mengatur parameter outbound saat melakukan binding dispatch_namespaces.
ctx.waitUntil() untuk mengirim data permintaan secara asinkron sehingga analisis keamanan real-time dapat dilakukan tanpa menambah latensi bagi pengguna.Dynamic Workers tidak memiliki disk lokal. Semua status bergantung pada penyimpanan eksternal. Di sinilah banyak insinyur melakukan kesalahan pada model konsistensi R2 Object Storage.
R2 pada dasarnya memberikan konsistensi yang kuat (strong consistency). Namun, janji ini rusak begitu terhubung dengan Cloudflare Cache, karena ia akan turun ke model konsistensi yang lebih longgar. Anda mungkin menghadapi situasi di mana setelah mengunggah objek tepat setelah menerima respons 404, cache 404 tersebut terus dikembalikan.
Jika terjadi pembaruan penting, panggil Cache Purge API secara eksplisit atau gunakan Worker API binding yang tidak melalui cache. Jika pencegahan race condition sangat krusial seperti pada manajemen sesi AI atau kolaborasi real-time, Durable Objects (DO) yang menjamin keberadaan hanya satu instansi di seluruh dunia adalah satu-satunya jawaban.
Bisakah Anda menangani log yang dihasilkan oleh puluhan ribu worker? Dengan metode biasa, biaya log sering kali melampaui biaya server.
Di sinilah Tail Workers muncul sebagai penyelamat. Ia dipicu tepat setelah worker produsen selesai untuk mengumpulkan informasi log dan pengecualian. Keuntungan terbesarnya adalah biaya. Tidak seperti worker biasa, Tail Workers hanya mengenakan biaya untuk waktu CPU yang benar-benar digunakan. Ini secara drastis menurunkan Total Cost of Ownership (TCO) saat melakukan pra-pemrosesan log skala besar.