23 puan yazan GN⁺ 2025-12-06 | 1 yorum | WhatsApp'ta paylaş
  • Uncloud, Kubernetes olmadan da birden çok sunucuda konteynerleştirilmiş web uygulamalarını dağıtıp ölçeklendirebilen açık kaynaklı bir araçtır
  • Docker Compose tabanlı iş akışını korurken, kesintisiz dağıtım, otomatik HTTPS ve sunucular arası ölçeklendirme desteği sunar
  • Merkezi bir kontrol düzlemi olmadan her makine, WireGuard tabanlı P2P ağ ile bağlanır; böylece bazı sunucular çevrimdışı olsa bile küme çalışmayı sürdürür
  • Caddy reverse proxy üzerinden otomatik HTTPS, yerleşik DNS tabanlı servis keşfi ve yük dengeleme özelliklerini içerir
  • Bulut ve şirket içi karma ortamlarda da aynı şekilde dağıtım yapılabildiği için, altyapı kontrolü ve maliyet öngörülebilirliği sağlanır

PaaS benzeri iş akışı

  • Heroku veya Fly.io gibi basit bir dağıtım deneyimi sunarken sunucular ve veriler üzerinde tam kontrol sağlar
    • İstek başına ücretlendirme yerine öngörülebilir maliyet yapısı
    • Vendor lock-in yoktur; standart SSH araçlarıyla hata ayıklama yapılabilir
  • Docker Compose dostu yapı sayesinde build, push ve deploy tek komutla yapılabilir
    • Image registry gerekmez, kesintisiz rolling deployment desteklenir
    • Birden fazla makineye yayılan replika ölçeklendirme mümkündür
    Reklam

Düşük bakım gerektiren tasarım

  • Kontrol düzlemi veya quorum yönetimi gerekmez, böylece yönetim karmaşıklığı en aza iner
  • Port açmadan güvenli makineler arası iletişim desteklenir
  • Otomatik servis keşfi ve Let's Encrypt tabanlı otomatik HTTPS sertifikası alma özelliği yerleşik olarak gelir

Nasıl çalışır

  • Karmaşık bir küme yerine basit bir makine ağı ile kurulur; bakım yükü olmadan istikrarlı altyapı sunar
  • Her makine WireGuard mesh ağına katılarak otomatik eş keşfi ve NAT traversal gerçekleştirir
    • Konteynerler benzersiz bir IP alır ve sunucular arasında doğrudan iletişim kurabilir
  • Tamamen dağıtık mimari sayesinde merkezi bir kontrol düğümü olmadan her makine küme durumunu senkronize eder
    • Bazı makineler çevrimdışı olsa bile küme çalışmayı sürdürür
    Reklam
  • Docker benzeri CLI ile tüm altyapı kontrol edilir
    • Tek bir makineye SSH erişimiyle dağıtım, izleme ve ölçeklendirme yapılabilir

Başlıca özellikler

  • Her yerde dağıtım yapılabilir: bulut VM'leri, dedicated server'lar, şirket içi ortamlar dahil tüm Linux makineleri destekler
  • Otomatik HTTPS: yerleşik Caddy reverse proxy ile yapılandırmasız TLS sertifikası alma ve HTTPS etkinleştirme
  • Yük dengeleme: birden fazla makineye dağılmış konteyner replikaları arasında trafiği dağıtır
  • Servis keşfi: yerleşik DNS, ağ içindeki servis konumlarını otomatik olarak izler
  • Infrastructure as Code: mevcut Docker Compose dosyalarıyla tüm uygulama yığını tanımlanabilir
  • Vendor lock-in yoktur: bulut ile kendi donanımınızı özgürce karıştırıp kullanabilirsiniz

1 yorum

 
GN⁺ 2025-12-06
Hacker News görüşü
  • Merhaba, yapımcısı benim. Paylaştığınız için teşekkürler.
    Uncloud, kontrol düzlemi olmayan bir konteyner orkestratörüdür. Basitçe söylemek gerekirse, birden fazla makineye yayılmış Docker Compose yapısının üzerine otomatik WireGuard mesh, servis keşfi ve Caddy üzerinden HTTPS eklenmiş halidir. Her makine, Fly.io’nun Corrosion aracını kullanarak küme durumunu p2p senkronize eder; bu sayede quorum koruma gereksinimi yoktur.
    Kubernetes’i hem startup’larda hem de unicorn şirketlerde işlettikten sonra, çoğu ekibin aslında yalnızca birkaç makinede konteynerleri düzgün çalıştırmaya, ayrıca ağ, rollout ve HTTPS’e ihtiyaç duyduğunu fark ettim. Buna kıyasla K8s’in operasyonel yükü fazla büyük.
    Başlıca özellikler şunlar:

    • Tanıdık Docker Compose spesifikasyonunu kullanır, yeni bir DSL öğrenmek gerekmez
    • Harici registry olmadan Docker imajlarını doğrudan makinelere build edip push eder (diğer projem unregistry kullanılıyor)
    • Deklaratif değil, imperative CLI sunar; bu da hata ayıklamayı kolaylaştırır
    • Cloud VM’lerden bare metal’e, NAT arkasındaki Raspberry Pi’lara kadar bağlanabilir
    • 150 MB’tan az bellek kullanımı
      Proje bağlantısı: https://github.com/psviderski/uncloud
      • K8s zaten küçük ölçekli ortamlarda da konteynerleri iyi çalıştırabiliyor; bu yüzden başka bir şey kullanmak için güçlü bir neden görmüyorum. k3s gibi hafif dağıtımların kurulumu da kolaylaştı, dolayısıyla bir alternatife ihtiyaç hissetmiyorum.
      • Fikir güzel ama uc machine init komutunun içeride root yetkisiyle curl | bash çalıştırması güvenlik açısından riskli görünüyor. Test etmek isterim ama gerçek makinelerde çalıştıracağımı sanmıyorum.
      • Gerçekten ilginç. Yakında deneme fırsatım olabilir. Ancak dokümantasyona bakınca, küme kurulduktan sonra başka mühendisleri onboard etmenin ya da CI/CD runner’dan deploy etmenin nasıl yapılacağı net değil. Yeni bir makinenin mevcut kümeye nasıl bağlandığını merak ediyorum.
      • Kamal ile farkı nedir, merak ediyorum.
      • WireGuard ile kurulmuş özel bir ağ içinden AWS RDS gibi dış servislere güvenli bağlantının nasıl sağlandığını merak ediyorum. Tailscale’in AWS RDS erişim yaklaşımı gibi bir destek var mı öğrenmek isterim.
  • Kariyerimin büyük kısmını Kubernetes ile geçirdim; kontrol düzlemi olmayan bir yapının avantajının ne olduğunu merak ediyorum. Bana göre kontrol düzlemi zaten K8s’in temel özelliği.
    Yüzlerce düğüm ve on binlerce konteyner gibi ölçeklerde yönetilen kümeler otomatik güncellendiği için büyük bir yük oluşturmuyor. İnsanların doğrudan K8s’i self-host etmeye çalışırken yaşadığı acıların bu tür alternatiflerin arkasındaki motivasyon olup olmadığını merak ediyorum.

    • “Yüzlerce düğüm, on bin konteyner” bana küçük gelmiyor. Ben 2-5 düğüm ve 10-30 konteyner ölçeğindeyim; bu seviyede K8s fazla ağır kalıyor. Böyle küçük ölçekli birçok şirket vardır diye düşünüyorum.
    • Kaba bir soru değil. Kontrol düzlemi olmamasının avantajı, her makinenin eşit bir peer yapısı içinde sadeleşmesidir. Merkezi bir “küme beyni” olmayınca HA kurulumu ya da etcd quorum sorunlarıyla uğraşmak gerekmiyor.
      Ağ bölünse bile her partition bağımsız şekilde çalışabiliyor. Eski Chef ya da Ansible dönemindeki sadeliğin, K8s’ten alınan derslerle birleşmiş hali gibi.
    • Elbette insanlar self-hosted K8s deniyor. Yedeklemede olduğu gibi, önceden denemezsen ihtiyaç anında yapamazsın.
    • KOBİ’ler açısından on bin konteyner kesinlikle küçük değil. Benim 10’dan az konteynerim var ama yüksek erişilebilirlik (HA) gerekiyor. Uncloud benim senaryoma uygun olabilir.
    • “On bin konteyner küçük mü? Bu CI job sayısı değil mi? ;)”
  • Proje harika görünüyor. İleride kesinlikle denemeyi düşünüyorum.
    Daha basit bir alternatif arıyorsanız Kamal da iyi olabilir. Bu, K8s’ten ve cloud’dan tamamen çıkmış bir şirketin bizzat işlettiği, sahada kanıtlanmış bir araç.

  • Sunucuları belirttiğinizde otomatik server hardening yapan bir özellik olup olmadığını merak ediyorum.

  • Ben bir Docker Swarm kullanıcısıyım. Uncloud, ilk kez gerçekten ilgimi çeken bir alternatif gibi görünüyor.
    Merak ettiklerim şunlar:

    • secrets desteği planlanıyor mu
    • Swarm + Traefik’te olduğu gibi konteyner label’larıyla URL rewrite kuralları tanımlanabiliyor mu
    • İki Compose stack deploy edildiğinde, farklı stack’lerdeki konteynerler birbirine ağ üzerinden erişebiliyor mu
    • Domain ve iç port eşlemesi Compose dosyasında x-ports: app.example.com:8000/https şeklinde tanımlanıyor.
      Ya da x-caddy: Caddyfile ile Caddy yapılandırması özelleştirilebiliyor. Ayrıntılar için resmî dokümantasyona bakabilirsiniz.
      Şu anda stack’ler arası ağ izolasyonu yok. İlgili tartışma GitHub Discussion #94 altında sürüyor.
      Nasıl bir davranış beklediğinizi merak ediyorum.
    • secrets özelliği issue #75 altında takip ediliyor. Compose config üzerinden enjekte etmek mümkün ama şifreli saklama henüz yok.
      2 ve 3 numaralı soruların cevabı sırasıyla “henüz değil” ve “şu anda evet”. İlgili tartışma için Discussion #94 bağlantısına bakabilirsiniz.
      Swarm kullanmış biri olarak, Swarm’da eksik ya da kullanışsız bulduğunuz ve Uncloud’un iyileştirebileceği şeylerin neler olduğunu merak ediyorum.
  • Gerçekten harika bir proje. Benzer konuda başka araçlara da bakmaya değer:

    • Dokploy
    • Coolify
    • Kubero
      Bildiğiniz başka örnekler varsa eklenmesini isterim.
    • Self-hosted PaaS listesi faydalı olabilir.
      Kısa süre önce Coolify denedim ama biraz yarım kalmış hissi verdi. Şu an Dokku kullanıyorum, ancak veritabanı yönetimi için UI’nın daha iyi olmasını isterdim.
  • Ben k3s’ten memnunum ama Docker Compose ile tam K8s arasındaki ara alanda yeni girişimler görmek sevindirici. Özellikle WireGuard entegrasyonu ilginç görünüyor.

  • Gerçekten çok güzel bir araç. Emeğiniz için teşekkürler.
    Arka uçtaki durum replikasyonunun (state replication) nasıl çalıştığını merak ediyorum. CRDT ve gossip protokolünden bahsedilmiş ama somut uygulama kısmı belirsiz kalmış.

    • Şu anda durum replikasyonu Corrosion tabanlı çalışıyor.
  • K8s değilse neden Nomad değil?

    • Nomad da iyi ama hâlâ bir kontrol düzlemi var.
    • Nomad’in öğrenme eğrisi oldukça belirgin. Buna karşılık Uncloud, Docker ve Compose bilen biri için neredeyse anında kullanılabilir durumda.
    • HashiCorp’un lisansı, yazılımı değiştirip SaaS olarak sunmayı yasaklıyor.
      Yani kullanım alanı self-host etmenin ötesinde sınırlı ve fiilen özgürce hizmetleştirmeye uygun değil. Ayrıntılar için lisans metnine bakabilirsiniz.
  • Bu arada, ilginç bulduğum iki p2p bileşeni paylaşayım: