· kaynak Cloudflare blog
Deno, Cloudflare'e katılıyor: self-hosted Workers ve Durable Objects birinci sınıf hale geliyor
Cloudflare, Deno'nun şirkete katıldığını duyurdu. Ryan Dahl ve Bert Belder, Deno'nun celld'ini workerd'e entegre ederek Workers runtime'ını self-host etmeyi birinci sınıf bir seçenek haline getirme çalışmalarına öncülük edecek.

Deno, Cloudflare'e katılıyor
Cloudflare, aynı adlı JavaScript ve TypeScript runtime'ının arkasındaki şirket olan Deno'nun kendisine katıldığını duyurdu. Cloudflare bloguna göre Ryan Dahl ve Bert Belder, Cloudflare'in açık kaynak Workers runtime'ı workerd'i self-host etmeyi birinci sınıf ve desteklenen bir uygulama geliştirme ve çalıştırma yoluna dönüştürme çabasına öncülük edecek. Plan, Deno ekibinin Ağustos ayında yayınladığı, Workers ve Durable Objects'ın açık kaynak bir implementasyonu olan celld'in kodunu ve fikirlerini workerd'e geri entegre etmeyi kapsıyor. Cloudflare, önümüzdeki aylarda yeni duyuruların geleceğini belirtiyor.
Lock-in eleştirisine bir yanıt
Cloudflare duyuruyu kısmen Workers'a yönelik süregelen bir eleştiriye yanıt olarak çerçeveledi: Workers'ın bilinçli olarak diğer hosting platformlarından farklı çalıştığı, bu yüzden uygulamaların başka yerlere taşınmasının zorlaştığı eleştirisi. Blog bu teoriyi reddediyor. Platformun tasarımının — bindings ve Durable Objects etrafında kurulmuş, yüzlerce lokasyonda düşük maliyetle çalışabilen bir programlama modeli — bulut yazılımı geliştirmek için sadece daha iyi bir yol olduğunu ve bu faydaların geleneksel platformlarla tam uyumluluk korunarak elde edilemeyeceğini savunuyor.
Müşterileri tuzağa düşürmeye çalışmadığının kanıtı olarak yazı, Workers runtime'ı olan workerd'in açık kaynak olduğunu ve birçok kişinin bunun farkında olmadığını gösteriyor. Şirket, 2022'de Shopify gibi müşterilere Workers for Platforms'ı sunup, runtime açık olmadıkça platform üzerine geliştirme yapamayacaklarını söylediklerinde bu adımı attığını belirtiyor. Workerd, Cloudflare'in production'da çalıştırdığı kodun ta kendisi olarak tanımlanıyor, paralel bir proje değil; ve şirket, eski müşterilerin bunu kullanarak platformdan göç ettiğini, bunu bir trade-off olarak kabul ettiğini — zira o müşteriler başka türlü imza atmış olmayacaktı — itiraf ediyor.
Workerd neden self-hosting için yaygınlaşmadı
Tüm bunlara rağmen workerd, self-hosting alanında pek benimsenmedi ve blog bunun nedenini alışılmadık derecede açık sözlü biçimde anlatıyor. Cloudflare, çevresindeki servisleri ve araçları geliştirme konusunda kötü bir iş çıkardığını kabul ediyor; runtime'ı yayınlamış ve topluluğun onu her ortama uyarlayacağını ummuş, ama bu olmadı.
Ayrıca teknik bir boşluk var. Yazıya göre workerd'in Durable Objects implementasyonu yalnızca tek bir instance destekliyor; yerel testler için sorun değil ama ölçeklenebilir değil. Cloudflare'in kendi production'daki Durable Object routing implementasyonu yüzlerce lokasyona hizmet vermek için tasarlandı ve özel bir güvenilirlik ekibi tarafından yönetilen harici servislere dayanıyor, bu da onu self-host etmek isteyenler için uygun kılmıyor. Şirket, bu konudaki TODO yorumlarının workerd'in ilk sürümüne kadar gittiğini ve geçen baharda yapılan bir iç düzeltme girişiminin başarısız olduğunu söylüyor.
Deno ekibi ne getiriyor
Cloudflare, celld'i bu bağlamda memnuniyetle karşıladığını söylüyor. Deno'nun implementasyonu, Workers ve Durable Objects ile uyumlu olmanın yanı sıra self-host edilebilir ve ölçeklenebilir olacak şekilde tasarlanmıştı — Cloudflare'in yıllardır istediği kombinasyon. Blog ayrıca ekibin geçmişine de yaslanıyor: Ryan Dahl, Node.js'i yaratarak sunucuda JavaScript kullanma fikrini fiilen icat etti ve Bert Belder ile Deno Land ekibinin geri kalanıyla daha sonra Deno'yu geliştirdi. Cloudflare'in anlatısına göre bu ekip, self-hosted bir runtime çevresindeki geliştirici deneyimini, Cloudflare'in workerd ile tek başına hiç tam olarak başaramadığı şekilde anlıyor.
Şimdilik Cloudflare, bugün herkesin celld veya workerd'i self-host edebildiğine dikkat çekiyor ve yazının yazarı, birleşik sonucu evinde bir Cloudflare OS instance'ı çalıştırmak için kullanmayı düşündüğünü söylüyor. Bu hamlenin Deno runtime'ının kendi yol haritası için ne anlama geldiği duyuruda ele alınmadı.
Neden önemli
Bu, JavaScript ekosisteminde kayda değer bir birleşme: Node.js'in en tanınmış alternatiflerinden biri olan Deno, en büyük bulut sağlayıcılarından birine katılıyor ve server-side JavaScript'in öncülerini yapan insanlar artık Cloudflare'in runtime'ını şekillendirecek. Geliştiriciler için pratik sonuç, Workers tarzı uygulamaları — Durable Objects dahil — kendi altyapılarında çalıştırmak için güvenilir, sağlayıcı destekli bir yolun ortaya çıkması. Bu, Workers üzerine inşa etmeye karşı yöneltilen en güçlü lock-in argümanını zayıflatıyor ve diğer serverless platformları daha net çıkış yolları sunmaya zorlayabilir. Bazı açık sorular sürüyor — özellikle Deno'nun bağımsız bir ürün olarak akıbeti ve birleşen workerd'in Deno'nun kendi runtime'ıyla ilişkisi — ancak açıklanan yön net: Workers programlama modeli, geliştiricilerin yanında taşıyabileceği bir şey olarak konumlandırılıyor.
- #javascript
- #cloudflare
- #deno
- #open-source
- #serverless
İlgili yazılar
- MIT lisanslı macOS CLI'si bigarrow, yapay zeka agent'larının ekranınızda ok ve kutu çizmesini sağlıyor
- Once: açık kaynak Go CLI, shell komut çıktısını kullanıcı başına çalışan bir daemon'da önbelleğe alıyor
- Microsoft, güvenilmeyen yapay zekâ üretimi kod için çapraz platform bir sandbox olan MXC'yi açık kaynak yaptı