JAKARTA — Perubahan arah Ryan Dahl bisa memengaruhi cara pengembang menjalankan aplikasi di server. Pencipta Node.js itu meninggalkan pengembangan Deno dan bergabung dengan Cloudflare untuk mengembangkan platform Workers agar dapat digunakan secara lebih terbuka.
Cloudflare mengumumkan pembelian perusahaan Deno pekan lalu. Perusahaan itu akan tetap memberi perbaikan bug dan patch keamanan untuk runtime Deno selama satu tahun, sembari Dahl mencari pengelola baru bagi proyek sumber terbuka tersebut. Tim Dahl akan menggabungkan teknologi celld dengan workerd, runtime Workers milik Cloudflare.
Dalam wawancara dengan The Register, Dahl menyampaikan pandangannya secara blak-blakan: “I am now of the opinion that if you’re choosing Node.js for building servers, you’re doing it wrong.” Ia menilai pendekatan berbasis Workers menawarkan cara berbeda dari server yang berjalan di lapisan mesin virtual Linux.
Fokus Ryan Dahl bergeser dari Deno
Kesepakatan Cloudflare dengan perusahaan Deno pada dasarnya membawa Dahl dan 12 koleganya ke dalam tim yang mengembangkan Workers. Cloudflare ingin memperluas platform itu agar berpotensi digunakan sebagai proyek sumber terbuka yang dapat dijalankan secara mandiri, bukan hanya bergantung pada infrastrukturnya sendiri.
Deno, runtime JavaScript sisi server yang dibuat Dahl, lahir sebagai upaya memperbaiki hal-hal yang menurutnya keliru dalam Node.js. Dahl memperkenalkan proyek itu pada 2018. Deno menawarkan sejumlah fitur bawaan, termasuk fetch, model izin, dan dukungan TypeScript langsung.
Namun, upaya membangun alternatif Node.js menghadapi tantangan adopsi. “What we found over years of working on Deno is that you can’t really deviate from Node.js very much,” kata Dahl kepada The Register. Ia menjelaskan timnya akhirnya harus membuat Deno semakin kompatibel dengan Node.js, sehingga perbedaannya sebagai runtime alternatif makin terbatas.
Deno mendapat dukungan pendanaan Sequoia sebesar $21 million pada 2022. Pada Agustus, proyek itu tercatat memiliki 400,000 pengguna bulanan. Meski begitu, bahan sumber menyebut ekosistem Node.js tetap menjadi hambatan bagi Deno untuk berkembang sebagai pilihan yang benar-benar terpisah.
Cloudflare Workers dan runtime JavaScript terbuka
Node.js sendiri diperkenalkan Dahl pada 2009. Ia membangun runtime itu dengan mesin JavaScript Google V8 sebagai alternatif untuk menjalankan kode JavaScript di server. Menurut bahan sumber, Node.js kini mendukung sekitar 30 million situs web di seluruh dunia dan telah mencatat 130 million unduhan.
Perbedaan pendekatan Workers ada pada cara kode dijalankan. Platform ini memakai isolat V8, yakni lingkungan terpisah yang berjalan dalam satu proses sistem operasi. Dalam rancangan Durable Objects, aplikasi dapat menjalankan layanan dengan status dan penyimpanan yang terkait pada setiap instans, tanpa membutuhkan runtime khusus yang berdiri sendiri seperti Node.js atau Deno.
Durable Objects memungkinkan pengembang membuat aplikasi terdistribusi yang menyimpan status dan merespons secara waktu nyata. Setiap instans dapat berjalan di lokasi tepi yang dekat dengan pengguna, memiliki identitas global unik, serta penyimpanan yang diletakkan berdekatan. Data sesi disimpan dalam salinan SQLite khusus untuk instans itu.
“Durable Objects ‘is kind of the perfect distributed systems abstraction,’” kata Dahl. Namun, teknologi tersebut sebelumnya terikat pada infrastruktur Cloudflare. Ia lalu membuat celld sebagai implementasi sumber terbuka agar pendekatan serupa dapat dihosting di tempat lain.
Cloudflare telah membuka sumber workerd pada 2022, tetapi rilis itu lebih ditujukan untuk pengujian oleh pengembang. Menurut bahan sumber, runtime tersebut belum dikembangkan menjadi Workers yang sepenuhnya dapat dihosting sendiri dan mampu mengelola status terdistribusi seperti celld.
Dampaknya bagi pengembang dan pasar runtime
Rencana penggabungan celld dan workerd dapat memberi pengembang pilihan untuk menjalankan runtime JavaScript dan WebAssembly secara mandiri, sekaligus membawa kemampuan sistem terdistribusi ke dalamnya. Jika target teknis yang disebut dalam bahan sumber tercapai, setiap instans dapat memakai 300 KB memori, dibandingkan ratusan megabita yang dibutuhkan Node.js atau Deno.
Penggunaan memori yang lebih rendah berpotensi mengurangi sumber daya komputasi yang diperlukan untuk menjalankan banyak instans. Dampaknya paling terasa bagi penyedia layanan cloud dan pengembang aplikasi yang menjalankan banyak proses kecil. Namun, proyek gabungan itu masih harus dibangun; penghematan tersebut belum menjadi kemampuan yang tersedia bagi pengguna.
Perubahan ini juga menyisakan pertanyaan tentang masa depan Deno. Cloudflare berkomitmen memberi pembaruan keamanan dan perbaikan bug selama satu tahun, sementara Dahl mencari rumah baru untuk proyek berlisensi MIT itu. OpenJS Foundation disebut sebagai salah satu kemungkinan, bukan keputusan yang sudah ditetapkan.
Pasar runtime sumber terbuka juga berpotensi menyempit. Bahan sumber mencatat Deno akan menghentikan pengembangan di bawah Cloudflare, sementara Anthropic baru-baru ini mengakuisisi dan menulis ulang Bun. Untuk saat ini, Node.js tetap menjadi pilihan utama yang harus bersaing dengan perubahan platform, sedangkan tim Dahl mulai mengerjakan integrasi Workers, workerd, dan Durable Objects.
Cloudflare belum menyebut jadwal tersedianya hasil penggabungan itu. Tahap berikutnya adalah melihat apakah tim Dahl dapat mengubah teknologi yang sebelumnya terkait erat dengan layanan Cloudflare menjadi runtime yang bisa dijalankan lebih luas.

📝 Tinggalkan Komentar
Komentar sebagai . Ditinjau admin sebelum tampil.