5 puan yazan GN⁺ 2026-01-11 | 1 yorum | WhatsApp'ta paylaş
  • Fly.io tarafından yeni duyurulan Sprites, mevcut tek kullanımlık sandbox'ların yerini almayı hedefleyen kalıcı bulut bilgisayarı kavramı
  • 1~2 saniye içinde oluşturulabiliyor; otomatik boşta kalma moduna geçiş, checkpoint geri yükleme ve 100GB dayanıklı depolama sunuyor
  • Mevcut durumsuz konteyner modelinin Claude gibi yapay zeka ajanları için verimsiz olduğuna dikkat çekiyor ve kalıcı bir ortamın gerekli olduğunu vurguluyor
  • Gerçek bir örnek olarak, Claude'un Sprite üzerinde SQLite tabanlı bir Go uygulaması (MDM) kurup uzun süre çalıştırdığı deneyim paylaşılıyor
  • Yazının sonucu: “Sandbox dönemi bitti, tek kullanımlık bilgisayar dönemi başladı

Sprites: Kalıcı Bulut Bilgisayarları - https://sprites.dev/

  • Fly.io, mevcut salt okunur sandbox modelinin artık eski kaldığını söyleyerek bunun yerine ‘Sprite’'ı tanıttı
    • sprite create komutuyla 1 saniye içinde bir Linux root shell oluşturuluyor
    • Sprite'lar 100GB dayanıklı depolama sunuyor; boşta kaldığında otomatik olarak uykuya geçip sonra geri yüklenebiliyor
  • sprite-env checkpoints create ile tüm sistemin checkpoint'i anında oluşturulabiliyor
    • sprite checkpoint restore v1 ile 1 saniye içinde geri yükleme yapılabiliyor; Git benzeri sistem düzeyinde sürüm yönetimi mümkün
  • Başlıca özellikler
    • Yüzlerce instance kolayca oluşturulabiliyor
    • Otomatik ücret durdurma (idle metering) ile maliyet düşüyor
    • Anycast ağ bağlantısı ile HTTPS URL sağlanıyor
    • Tam dayanıklılık korunuyor ve açıkça silinmedikçe kalıyor

Claude ve durumsuz konteynerlerin sınırları

  • Günümüzde çoğu bulut ortamı durumsuz (stateless) konteynerler etrafında şekillenmiş durumda
    • Veriler yalnızca harici veritabanlarında tutuluyor; amaç sadelik ve ölçeklenebilirlik
  • Ancak Claude gibi yapay zeka ajanları bu yapıya pek uygun değil
    • Konteynerleri aşmaya veya dışına çıkmaya çalışıyor, tüm “bilgisayara” erişmek istiyorlar
  • “Bilgisayar” tanımı olarak dayanıklılık (durability) ve iş bittikten sonra da kaybolmayan bir ortam öne sürülüyor
    • Bugünün sandbox'ları bu iki özelliğin de yoksunu

Basitlik Kazanır (Simple Wins)

  • Kalıcı bir ortamda geliştirme ortamını yeniden kurmak (node_modules vb.) gerekmiyor
    • Sektör bunu çözmek için snapshot teknolojilerine on milyonlarca dolar yatırım yapıyor
  • Ajanların S3, Redis, RDS gibi dış kaynaklara erişebilmesi için gerçek altyapı kurulan örnekler var
    • Bu, sandbox'ların kalıcılık eksikliğini aşmak için kullanılan geçici bir çözüm
  • Sprite'lar bu karmaşıklığı ortadan kaldırarak dosya yazıldığında olduğu gibi kalan bir ortam sunuyor
  • Örnek olarak, Phoenix.new projesinde Fly Machine tabanlı bir ajan uygulama loglarını doğrudan gözlemleyerek hataları düzeltiyor

Galaxy Brain Win: Geliştirme ve operasyonun birleşmesi

  • Yazar, Claude ile birlikte SQLite tabanlı bir Go uygulamasını (MDM) Sprite üzerinde geliştirdi
    • Anycast URL, MDM kayıt URL'si olarak kullanıldı
    • Claude, APNS sertifika ayarlarını bile otomatik yaptı
  • Bu uygulama bir aydan uzun süredir Sprite üzerinde stabil şekilde çalışıyor
    • Geliştirme ortamı operasyon ortamıdır, operasyon ortamı da geliştirme ortamıdır (dev is prod, prod is dev)” fikri burada hayata geçiyor
  • Çoğu uygulamanın devasa trafik ihtiyacı olmadığını, bunun yerine kişiye özel kalıcı uygulamaların daha önemli olduğunu savunuyor
    • Kullanıcıların doğrudan özellik isteyip bunun anında yansıtılabildiği bir yapı

Sandbox'ın sonu ve tek kullanımlık bilgisayarlar çağı

  • Fly.io uzun süredir yatay ölçeklenebilir microVM platformları geliştiriyor, ancak sandbox modeli sınırına ulaştı
  • Sprite'lar Fly Machines'e benziyor ama yeni bir depolama yığını ve orkestrasyon mimarisi kullanıyor; ayrıca Dockerfile gerekmiyor
  • Temel soru şöyle soruluyor:
    > “Bir ajan çalıştırabiliyorsanız, salt okunur bir sandbox yerine anında çağrılabilen bir EC2 instance'ı istemez misiniz?”
  • Sonuç: “Sandbox dönemi bitti, tek kullanımlık bilgisayar dönemi başladı.”

1 yorum

 
GN⁺ 2026-01-11
Hacker News yorumları
  • İlk başta gerçekten hoşuma gitmişti ama, Fly API ile ilgili diğer deneyimlerimde olduğu gibi bunda da bir şeylerin kırık olduğu hissi vardı
    https://sprites.dev/api belgelerindeki örnek komutu aynen çalıştırınca {"error":"name is required"} yanıtı geliyor
    Ama Create Sprite dokümanındaki tam istek gövdesini kullanınca düzgün çalışıyor
    Kişisel iş akışımda bu tür pürüzleri tolere edebilirim ama tüm ekibi etkileyen CI/CD için tereddüt yaratıyor
    Fly ekibinden bir ricam var — dokümandaki örneklerin mutlaka otomatik testlerle doğrulanmasını sağlayın

    • Muhtemelen Content-Type başlığı eklenmediği için oluyor
    • Bu tür sorunları herkese açık bir issue tracker üzerinden bildirebilmek güzel olurdu. GitHub olmak zorunda değil ama kullanıcıların bunu açıkça tartışabileceği bir yer olmalı
  • https://sprites.dev/ gerçekten çok ilgi çekici
    Benim sevdiğim iki sorunu aynı anda çözüyor

    1. Geliştirme ortamı sandbox'ı — Claude Code ya da Codex CLI'yi güvenle çalıştırabileceğiniz, ucuz ve kalıcı bir VM ortamı
    2. Sandbox API — basit bir JSON API çağrısıyla güvenilmeyen kodu izole bir ortamda çalıştırabiliyorsunuz
      Snapshot özelliği de var; çalıştırdıktan sonra önceki duruma kolayca dönebiliyorsunuz
      Ayrıntıları blogumda yazdım → simonwillison.net yazısı
  • Felsefi olarak Fly'ı seviyorum ve ilk günlerinden beri müşterisiyim
    Ama CLI ile ilgili işlerde hâlâ bir tedirginlik var. Birkaç haftada bir kullansam bile otomatik güncelleme çok sık devreye girip akışı bozuyor
    Sprite CLI'nin de aynı sorunu tekrarlamasından endişe ediyorum

    • Ben de aynı nedenle Fly'ı bırakıp Digital Ocean'a geçtim. “just works” denilen şey çok sık çalışmıyordu
  • Bu gerçekten ilginç!
    Şirkette SSH üzerinden bağlı Claude ile kalıcı bir geliştirme sunucusu kullanıyoruz ama git repo ya da ortam kaybolunca can sıkıcı oluyor
    Sprite ile SQLite gibi bir şeyde veri saklayıp URL üzerinden erişilen basit uygulamalar yapmak mümkün gibi görünüyor
    Kısa bir süre sonra otomatik olarak yok olan bir yapıysa basit kişisel yazılımlar için mükemmel olabilir
    Eğer Vercel preview ortamı gibi, Fly hesabıyla kimlik doğrulaması yapınca URL'yi görebildiğiniz bir özellik olsaydı daha da iyi olurdu

  • Güzel görünüyor ama Fly'ın diğer ürünleri güvenilirlik ya da olgunluk açısından örnek teşkil etmiyor
    API kesintileri ve geçici hatalar sık yaşanıyor, faturalandırma sorunları da yavaş çözülüyor
    Örneğin silinmiş instance'lar hâlâ kullanılıyormuş gibi görünüyor ve saatlik ücretler gerçekte olması gerekenin iki katı hesaplanıyor
    Phoenix.new ve Sprites gibi yeni yapay zeka ürünleri çıkardılar ama mevcut ürünlerin kalitesini artırmaktan çok yeni ürünlere odaklanıyor gibiler

    • Sadece güvenilirlik ve destek açısından bakarsak bunu kullanmak için bir neden görmüyorum
  • Uzun zamandır böyle bir geliştirme sandbox'ı istiyordum — kapatmayı unutsam bile yüksek maliyet çıkarmayan bir ortam
    Ama birkaç sorun yaşadım

    1. manpath: can't set the locale hatası — muhtemelen yerel locale ayarı olduğu gibi aktarılmış
    2. $SHELL değeri /opt/homebrew/bin/fish olarak ayarlanmıştı. Yerel ortam değişkenlerimin uzak tarafa izinsiz aktarılmış olması biraz rahatsız ediciydi
  • Bu gerçekten harika. Uzun süredir beklediğim türden bir DX ve API biçiminde sandbox çalıştırma ortamı
    Temel image'ı ya da VM'i özelleştirip gereksiz araçlar olmadan sadece ihtiyacım olan binary'leri dahil etmek isterim
    Ya da checkpoint tabanlı olarak sprite klonlama özelliği olsa iyi olurdu. Şu an böyle bir seçenek görünmüyor

    • Docker dağıtımı gibi, istediğim şekilde temel sprite image'ını yükleyip onun üstünde çalışmaya devam edebileceğim bir özellik güzel olurdu
  • Son birkaç aydır Sprites üzerinde çalışmak gerçekten çok keyifliydi
    Yakında Elixir tarafındaki bazı bölümleri açık kaynak olarak yayımlayacağız
    5 dakikalık bir demo videosu da var → YouTube demosu

    • İlginç olan, Claude'un Sprites'ı kendi kendine kontrol etmesi. Sunucuyu çalıştırınca onu otomatik olarak yerel bir servis olarak kaydediyor ve büyük değişiklikler olduğunda kendi başına checkpoint oluşturuyor
      Kullanılmayan sprite'ların maliyeti neredeyse yok denecek kadar az. Her yeni iş için yenisini oluşturabilirsiniz
      Hiç karar vermek zorunda kalmadan istediğiniz an çalıştırabileceğiniz bir ortamın olması tuhaf ama güzel bir his
  • Alan adı fly.io olduğu için, ilk başta bunun yerel bir çözüm olduğunu sanmıştım
    Self-hosted olmasa bile, Docker ya da bubblewrap'i saran bir yerel VM sarmalayıcısı bekliyordum

    • Böyle bir kullanım için LXC/Incus projesine bakmak isteyebilirsiniz → https://linuxcontainers.org/incus/
      ZFS tabanlı IncusOS'u yerel donanımda çalıştırırsanız çok güçlü bir sandbox ortamı elde edersiniz
  • Belki dokümanda gözümden kaçmıştır ama sprite'ları fork/clone etmek ya da bir checkpoint'i yeni bir sprite'a geri yüklemek mümkün mü diye merak ediyorum
    Mesela tek bir sprite'ı şablon olarak kullanıp birden çok tane başlatmak ya da Claude Code'un farklı çözümleri denedikten sonra yalnızca birini bırakıp diğerlerini temizlemesi gibi kullanım senaryoları düşünüyorum

    • Bu özellik yakında eklenecek. Nedenini ve nasıl çalıştığını gelecek hafta yayımlanacak “how this works” yazısında anlatacağız
      Çıkışta dahil etmek istemiştik ama önce biraz daha gerçek kullanım verisi toplamaya karar verdik