23 पॉइंट द्वारा GN⁺ 2025-12-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Uncloud एक open source टूल है जो Kubernetes के बिना भी कई सर्वरों पर containerized web applications को deploy और scale कर सकता है
  • Docker Compose-आधारित workflow को बनाए रखते हुए, यह zero-downtime deployment, automatic HTTPS, और server-to-server scaling को support करता है
  • केंद्रीय control plane के बिना, हर मशीन WireGuard-आधारित P2P network से जुड़ी रहती है, इसलिए कुछ सर्वर offline होने पर भी cluster चलता रहता है
  • Caddy reverse proxy के जरिए automatic HTTPS, built-in DNS-आधारित service discovery, और load balancing features शामिल हैं
  • cloud और on-premise mixed environments में भी एक ही तरीके से deployment संभव है, जिससे infrastructure control और cost predictability मिलती है

PaaS-जैसा workflow

  • Heroku या Fly.io जैसी आसान deployment experience देते हुए भी servers और data पर पूरा control बनाए रखता है
    • request-based billing की जगह predictable cost structure
    • vendor lock-in नहीं, standard SSH tools से debugging संभव
  • Docker Compose-friendly structure के साथ build, push, और deploy एक ही command में किए जा सकते हैं
    • image registry की जरूरत नहीं, zero-downtime rolling deployment support
    • कई machines पर replica scaling संभव

कम-maintenance डिज़ाइन

  • control plane या quorum management की जरूरत नहीं, जिससे management complexity कम रहती है
  • ports खोले बिना सुरक्षित machine-to-machine communication support
  • automatic service discovery और Let's Encrypt-आधारित HTTPS automatic issuance built-in है

यह कैसे काम करता है

  • जटिल cluster की जगह सरल machine network से बना है, जो maintenance burden बढ़ाए बिना stable infrastructure देता है
  • हर मशीन WireGuard mesh network में शामिल होती है और automatic peer discovery तथा NAT traversal करती है
    • containers को unique IP मिलता है, जिससे सर्वरों के बीच direct communication संभव होता है
  • पूरी तरह distributed architecture में, बिना किसी केंद्रीय control node के हर मशीन cluster state को sync करती है
    • कुछ machines offline होने पर भी cluster operation जारी रहता है
  • Docker-जैसी CLI से पूरे infrastructure को control किया जा सकता है
    • सिर्फ एक machine पर SSH access से deployment, monitoring, और scaling किया जा सकता है

मुख्य फीचर्स

  • कहीं भी deploy करें: cloud VM, dedicated server, on-premise सहित सभी Linux machines support
  • automatic HTTPS: built-in Caddy reverse proxy के साथ बिना configuration के TLS certificate issuance और HTTPS enablement
  • load balancing: कई machines में फैले container replicas के बीच traffic distribution
  • service discovery: built-in DNS network के भीतर services की location को अपने-आप track करता है
  • Infrastructure as Code: मौजूदा Docker Compose files से पूरे app stack को define किया जा सकता है
  • vendor lock-in नहीं: cloud और अपने hardware को स्वतंत्र रूप से mix and match किया जा सकता है

1 टिप्पणियां

 
GN⁺ 2025-12-06
Hacker News राय
  • नमस्ते, मैं इसका निर्माता हूँ। शेयर करने के लिए धन्यवाद
    Uncloud एक control plane-रहित container orchestrator है। आसान शब्दों में, यह कई मशीनों पर फैला हुआ Docker Compose है, जिसमें automatic WireGuard mesh, service discovery, और Caddy के जरिए HTTPS जुड़ा हुआ है। हर मशीन Fly.io के Corrosion का उपयोग करके cluster state को p2p sync करती है, इसलिए quorum बनाए रखने की ज़रूरत नहीं होती
    Kubernetes को startup और unicorn, दोनों तरह की कंपनियों में चलाने के अनुभव के बाद मुझे लगा कि ज़्यादातर टीमों को वास्तव में बस कुछ मशीनों पर containers ठीक से चलाने हैं, साथ में networking, rollout, और HTTPS चाहिए। इसके मुकाबले K8s का operational overhead बहुत ज़्यादा है
    मुख्य विशेषताएँ इस प्रकार हैं

    • परिचित Docker Compose spec का उपयोग, नया DSL सीखने की ज़रूरत नहीं
    • बाहरी registry के बिना सीधे मशीनों पर Docker images build और push करना (मेरे दूसरे प्रोजेक्ट unregistry का उपयोग)
    • declarative के बजाय imperative CLI देता है, इसलिए debugging आसान है
    • cloud VM, bare metal, और NAT के पीछे वाले Raspberry Pi तक को जोड़ा जा सकता है
    • memory usage 150MB से कम
      प्रोजेक्ट लिंक: https://github.com/psviderski/uncloud
      • K8s छोटे environments में भी containers अच्छी तरह चला लेता है, इसलिए मुझे नहीं लगता कि कुछ और इस्तेमाल करने की खास वजह है। k3s जैसे lightweight deployments भी आसान हो गए हैं, इसलिए किसी alternative की ज़रूरत महसूस नहीं होती
      • आइडिया बढ़िया है, लेकिन uc machine init का अंदरूनी तौर पर root privileges के साथ curl | bash चलाना security risk लगता है। मैं इसे test करना चाहूँगा, लेकिन शायद असली मशीनों पर नहीं चलाऊँगा
      • यह वाकई दिलचस्प है। लगता है जल्द ही इसे आज़माने का मौका मिलेगा। लेकिन docs देखने पर भी cluster setup के बाद दूसरे engineers को onboard कैसे किया जाए, या CI/CD runner से deploy कैसे किया जाए, यह साफ़ नहीं है। मैं यह जानना चाहता हूँ कि नई मशीन को मौजूदा cluster से जोड़ने की प्रक्रिया क्या है
      • Kamal से इसका फर्क क्या है?
      • मैं जानना चाहता हूँ कि WireGuard से बने private network के भीतर AWS RDS जैसी external services के साथ secure connection कैसे बनाया जाता है। क्या यह Tailscale के AWS RDS access approach जैसा कुछ support करता है?
  • मैंने अपने करियर का ज़्यादातर हिस्सा Kubernetes के साथ बिताया है, इसलिए मैं जानना चाहता हूँ कि control plane-रहित architecture का फायदा क्या है। मेरे लिए तो control plane ही K8s की core functionality है।
    सैकड़ों nodes और लगभग दस हज़ार containers तक managed clusters में auto-update के साथ संभाले जा सकते हैं, इसलिए यह बहुत बड़ा बोझ नहीं लगता। क्या लोगों द्वारा K8s को self-host करने में होने वाली तकलीफ़ ही ऐसे alternatives की पृष्ठभूमि है?

    • “सैकड़ों nodes, दस हज़ार containers” मुझे छोटा नहीं लगता। मैं 2~5 nodes और 10~30 containers के पैमाने पर हूँ, और इस स्तर पर K8s बहुत भारी है। लगता है ऐसी छोटी कंपनियाँ काफ़ी होंगी
    • यह असभ्य सवाल नहीं है। control plane न होने का फायदा यह है कि हर मशीन बराबरी के peer architecture में रहती है, जिससे चीज़ें सरल हो जाती हैं। कोई central “cluster brain” नहीं होता, इसलिए HA setup या etcd quorum की चिंता नहीं करनी पड़ती।
      नेटवर्क partition होने पर भी हर partition स्वतंत्र रूप से काम कर सकता है। यह पुराने Chef या Ansible वाले दौर की सादगी में K8s से सीखे गए सबक जोड़ने जैसा है
    • बेशक लोग self-hosted K8s आज़माते हैं। backup की तरह, अगर पहले से अभ्यास न किया हो तो ज़रूरत पड़ने पर कर नहीं पाते
    • छोटे और मध्यम व्यवसायों के नज़रिए से दस हज़ार containers बिल्कुल भी छोटा पैमाना नहीं है। मेरे पास 10 से कम हैं, लेकिन मुझे high availability (HA) चाहिए। Uncloud शायद मेरी स्थिति के लिए काफ़ी उपयुक्त होगा
    • “दस हज़ार containers छोटा? क्या वह CI jobs का आँकड़ा नहीं है? ;)”
  • प्रोजेक्ट शानदार है। मैं बाद में इसे ज़रूर इस्तेमाल करके देखूँगा।
    अगर आप कोई और सरल alternative ढूँढ रहे हैं, तो Kamal भी अच्छा है। इसे ऐसी कंपनी खुद चलाती है जो K8s और cloud को पूरी तरह छोड़ चुकी है, और यह production-proven tool है

  • क्या इसमें servers specify करने पर server hardening अपने-आप करने की कोई सुविधा है?

  • मैं Docker Swarm user हूँ। Uncloud पहला alternative है जो सच में दिलचस्प लगा
    मेरे सवाल इस प्रकार हैं

    • क्या secrets support की कोई योजना है
    • क्या Swarm+Traefik की तरह container labels से URL rewrite rules define किए जा सकते हैं
    • अगर दो Compose stacks deploy किए जाएँ, तो क्या अलग-अलग stacks के containers एक-दूसरे तक network access पा सकते हैं
    • domain और internal port mapping को Compose file में x-ports: app.example.com:8000/https के रूप में define किया जाता है।
      या x-caddy: Caddyfile के साथ Caddy config को customize किया जा सकता है। ज़्यादा जानकारी के लिए official docs देखें
      अभी stacks के बीच network isolation feature नहीं है। इस पर चर्चा GitHub Discussion #94 में चल रही है।
      मैं जानना चाहता हूँ कि आप किस तरह के behavior की उम्मीद कर रहे हैं
    • secrets feature को issue #75 में track किया जा रहा है। Compose config के ज़रिए injection संभव है, लेकिन encrypted storage अभी नहीं है।
      सवाल 2 और 3 के जवाब हैं “अभी नहीं” और “फ़िलहाल हाँ”। संबंधित चर्चा के लिए Discussion #94 देखें
      Swarm इस्तेमाल करने के आपके अनुभव से, मैं जानना चाहता हूँ कि Swarm में कौन-सी कमियाँ या असुविधाएँ थीं जिन्हें Uncloud बेहतर कर सकता है
  • यह सच में शानदार प्रोजेक्ट है। इस विषय के कुछ और tools भी देखने लायक हैं

    • Dokploy
    • Coolify
    • Kubero
      अगर आपको और पता हों तो जोड़ें
    • Self-hosted PaaS list काम की है।
      मैंने हाल ही में Coolify इस्तेमाल किया, लेकिन वह थोड़ा अधूरा लगा। अभी मैं Dokku इस्तेमाल कर रहा हूँ, मगर DB management के लिए UI और बेहतर होना चाहिए
  • मैं k3s से संतुष्ट हूँ, लेकिन Docker Compose और पूरे K8s के बीच के मिडिल ग्राउंड में नए प्रयोग देखना अच्छा लगता है। खासकर WireGuard integration दिलचस्प है

  • यह वाकई शानदार tool है। मेहनत के लिए धन्यवाद।
    मैं जानना चाहता हूँ कि backend में state replication कैसे काम करता है। आपने CRDT और gossip protocol का ज़िक्र किया, लेकिन ठोस implementation अभी स्पष्ट नहीं है

    • फ़िलहाल state replication Corrosion पर आधारित है
  • अगर K8s नहीं, तो फिर Nomad क्यों नहीं?

    • Nomad भी अच्छा है, लेकिन उसमें अभी भी control plane मौजूद है
    • Nomad की learning curve काफ़ी है। दूसरी ओर Uncloud को Docker और Compose जानने वाला व्यक्ति लगभग तुरंत इस्तेमाल कर सकता है
    • HashiCorp का license modifications के बाद उसे SaaS के रूप में पेश करने की अनुमति नहीं देता।
      यानी self-hosting के अलावा उसका उपयोग सीमित है, और व्यवहार में मुक्त रूप से service बनाकर देना संभव नहीं है। पूरा license देखें
  • संदर्भ के लिए, मैं दो दिलचस्प p2p components साझा कर रहा हूँ