← Radar

Konu: Altyapı4 dk okuma

Cloudflare Dynamic Workers: Yapay zekânın yazdığı kodu konteyner yerine isolate'te çalıştırmak

Bu neden önemli?

Ajanlar giderek daha çok kod yazıp çalıştırıyor. Her küçük betik için bir konteyner açmak hem yavaş hem pahalı. Isolate'ler farklı bir denge sunuyor: Çok daha hafifler ama sadece JavaScript gibi belirli dilleri çalıştırıyorlar. Hangisini ne zaman seçeceğini bilmek, ajan kuran herkesin işine yarar.

Sorun: Her kod parçasına bir konteyner mi?

Bir yapay zekâ ajanına “şu API’den verileri çek, filtrele, özetle” dediğinde ajan bunu iki yolla yapabilir. Ya araçları tek tek çağırıp her sonucu bekler. Ya da birkaç satırlık bir betik yazıp hepsini tek seferde çalıştırır. İkinci yolun adı Code Mode. Daha az token harcıyor ve daha hızlı. Bu fikri Pi 1.0 yazımızda da anlattık.

Ama bir sorun var: Ajanın yazdığı koda güvenemezsin. Onu bilgisayarının ya da sunucunun geri kalanından ayırman gerekiyor. Bugün en yaygın çözüm her iş için bir konteyner açmak. Cloudflare’in hesabına göre bir konteynerin açılması yüzlerce milisaniye sürüyor ve yüzlerce megabayt bellek yiyor. Tek seferlik bir betik için bu ağır bir bedel.

Isolate nedir?

Cloudflare Workers yıllardır konteyner değil, V8 isolate kullanıyor. V8, Chrome’un JavaScript motoru. Isolate ise bu motorun içinde açılan, kendi belleği olan, diğerlerini göremeyen küçük bir çalışma alanı. Tarayıcında açtığın her sekmenin birbirinin verisine ulaşamaması da benzer bir fikre dayanıyor.

Konteyner bütün bir işletim sistemi ortamını taklit ediyor. Isolate ise sadece kodu çalıştıracak kadar yer açıyor. Cloudflare’e göre isolate birkaç milisaniyede başlıyor ve birkaç megabayt bellek kullanıyor. Şirketin kendi özeti: Tipik bir konteynere göre yaklaşık 100 kat hızlı, 10 ila 100 kat daha az bellek.

Dynamic Workers ne getirdi?

24 Mart 2026’da açık betaya giren Dynamic Workers, bu isolate’leri kodla açmanı sağlıyor. Normal bir Worker’a worker_loaders adında bir bağlantı (binding) ekliyorsun. Sonra çalışma anında iki yoldan biriyle yeni bir Worker oluşturuyorsun:

  • load: Kodu ver, bir kez çalıştır, at. Ajan betikleri için.
  • get: Worker’a bir kimlik ver. Aynı kimlikle tekrar çağırınca hazırdaki Worker kullanılıyor, yeniden kurulmuyor. Önizleme ortamları gibi tekrar tekrar açılan işler için.

Asıl önemli kısım kontrol. globalOutbound: null dersen yeni Worker internete hiç çıkamıyor. İstersen dışarı giden her isteği kendi kodunla yakalayıp inceleyebilir, engelleyebilir ya da isteğe API anahtarını sen ekleyebilirsin. Böylece ajan anahtarı hiç görmüyor, sızdıramıyor da. Ajana açmak istediğin yetenekleri ise TypeScript arayüzleri olarak veriyorsun. Ajan bunları sıradan bir kütüphane gibi çağırıyor ama çağrı güvenlik sınırının öbür tarafında çalışıyor.

Cloudflare bunun yanında üç yardımcı paket yayımladı: Ajan kodunu çalıştıran @cloudflare/codemode, npm paketlerini çalışma anında paketleyen @cloudflare/worker-bundler ve ajanlara SQLite ile R2 üstünde sanal bir dosya sistemi veren @cloudflare/shell.

Videoda ne denendi?

Better Stack’in sunucusu önce basit bir “merhaba” Worker’ı açıp ağ erişimini kapatıyor. Sonra bir Claude ajanının yazdığı kodu yeni bir Worker’da çalıştırıp sonucu R2 depolamaya kaydediyor. Son olarak bir döngüyle 10.000 Worker açıyor ve videoya göre hepsi neredeyse anında hazır oluyor. Başlıktaki “saniyede bir milyon” ise bir test değil. Cloudflare’in blogundaki “saniyede bir milyon isteğin her biri ayrı bir kum havuzu açsa” örneğinden geliyor.

Bedeli ne?

  • Dil sınırı. Cloudflare’in kendi deyişiyle tek şart, ajanın JavaScript yazması. Python ve WebAssembly de çalışıyor ama küçük betiklerde JavaScript daha hızlı. Rastgele bir Linux programı çalıştıramazsın. Bunun için Cloudflare’in konteyner tabanlı Sandbox ürünü var.
  • Dosya sistemi yok. Gerekirse sanal bir dosya sistemi ya da R2 kullanıyorsun.
  • Güvenlik sınırı farklı. Cloudflare, isolate’lerin saldırı yüzeyinin donanım sanallaştırmasından daha karmaşık olduğunu ve V8 açıklarının daha sık çıktığını kendisi kabul ediyor. Buna karşı V8 yamalarını saatler içinde dağıttığını ve ikinci bir kum havuzu katmanı kullandığını söylüyor. Konteyner ve mikro sanal makine tarafını konteyner güvenlik sınırı yazımızda anlattık.

Sonra ne oldu?

  • Mayıs 2026’da Dynamic Workflows geldi. Dinamik yüklenen kod artık yarıda kalsa bile kaldığı yerden devam edebilen iş akışları çalıştırabiliyor.
  • Belgeler bugün Dynamic Workers’ı ücretli Workers planında gösteriyor. Ayda 1.000 farklı Dynamic Worker dahil, sonrası günde Worker başına 0,002 dolar. Bu ücret 26 Mayıs 2026’da başladı. İstek ve CPU süresi normal Workers fiyatından.
  • Aynı ajan altyapısının depolama tarafı için Cloudflare Artifacts yazımıza bakabilirsin.

Düşün

  • Ajanının yazdığı bir betiğe internet erişimi vermen gerekiyor mu? Gerekiyorsa hangi adreslere?
  • Bir işi “JavaScript ile sınırlı ama çok hafif” bir ortamda mı, “her şeyi çalıştıran ama ağır” bir ortamda mı yapardın?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (6, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.