newsence
來源篩選

Show HN: Distr 2.0 – A year of learning how to ship to customer environments

Hacker News

<p>A year ago, we launched Distr here to help software vendors manage customer deployments remotely. We had agents that pulled updates, a hub with a GUI, and a lot of assumptions about what on-prem deployment needed.<p>It turned out things get messy when your software is running in places you can't simply SSH into.<p>Over the last year, we’ve also helped modernize a lot of home-baked solutions: bash scripts that email when updates fail, Excel sheets nobody trusts to track customer versions, engineers driving to customer sites to fix things in person, debug sessions over email (“can you take a screenshot of the logs and send it to me?”), customers with access to internal AWS or GCP registries because there was no better option, and deployments two major versions behind that nobody wants to touch.<p>We waited a year before making our first breaking change, which led to a major SemVer update—but it was eventually necessary. We needed to completely rewrite how we manage customer organizations. In Distr, we differentiate between vendors and customers. A vendor is typically the author of a software / AI application that wants to distribute it to customers. Previously, we had taken a shortcut where every customer was just a single user who owned a deployment. We’ve now introduced customer organizations. Vendors onboard customer organizations onto the platform, and customers own their internal user management, including RBAC. This change obviously broke our API, and although the migration for our cloud customers was smooth, custom solutions built on top of our APIs needed updates.<p>Other notable features we’ve implemented since our first launch:<p>- An OCI container registry built on an adapted version of <a href="https://github.com/google/go-containerregistry/" rel="nofollow">https://github.com/google/go-containerregistry/</a>, directly embedded into our codebase and served via a separate port from a single Docker image. This allows vendors to distribute Docker images and other OCI artifacts if customers want to self-manage deployments.<p>- License Management to restrict which customers can access which applications or artifact versions. Although “license management” is a broadly used term, the main purpose here is to codify contractual agreements between vendors and customers. In its simplest form, this is time-based access to specific software versions, which vendors can now manage with Distr.<p>- Container logs and metrics you can actually see without SSH access. Internally, we debated whether to use a time-series database or store all logs in Postgres. Although we had to tinker quite a bit with Postgres indexes, it now runs stably.<p>- Secret Management, so database passwords don’t show up in configuration steps or logs.<p>Distr is now used by 200+ vendors, including Fortune 500 companies, across on-prem, GovCloud, AWS, and GCP, spanning health tech, fintech, security, and AI companies. We’ve also started working on our first air-gapped environment.<p>For Distr 3.0, we’re working on native Terraform / OpenTofu and Zarf support to provision and update infrastructure in customers’ cloud accounts and physical environments—empowering vendors to offer BYOC and air-gapped use cases, all from a single platform.<p>Distr is fully open source and self-hostable: <a href="https://github.com/distr-sh/distr" rel="nofollow">https://github.com/distr-sh/distr</a><p>Docs: <a href="https://distr.sh/docs">https://distr.sh/docs</a><p>We’re YC S24. Happy to answer questions about on-prem deployments and would love to hear about your experience with complex customer deployments.</p> <hr> <p>Comments URL: <a href="https://news.ycombinator.com/item?id=46958742">https://news.ycombinator.com/item?id=46958742</a></p> <p>Points: 50</p> <p># Comments: 13</p>

newsence

Show HN:Distr 2.0 – 一年學習如何交付給客戶環境

Hacker News
18 天前

AI 生成摘要

Distr 2.0,一個幫助軟體供應商遠端管理客戶部署的工具,在過去一年中進行了重大更新,包括重寫組織管理系統,並新增了 OCI 容器註冊表、授權管理和密碼管理等功能。該平台現已支援 200 多家跨行業和雲端環境的供應商。

背景

Distr 2.0 是一款開源的軟體分發平台,旨在解決開發商將應用程式部署至客戶自管環境(Self-managed)或私有雲時的痛點。在過去一年的實踐中,開發團隊發現傳統的 SSH 或手動腳本在面對複雜的客戶環境時力有未逮,因此透過這次重大更新重新設計了組織管理架構,並強化了對 AI 模型與大型容器映像檔的分發支援。

社群觀點

在 Hacker News 的討論中,許多開發者對 Distr 解決的「最後一哩路」問題深感共鳴。一位開發者分享了目前業界常見的克難現狀:依賴 Ansible 配合 VPN 進行部署,雖然勉強可行,但最大的瓶頸在於與客戶的溝通、版本更新通知以及確保部署過程的透明度。對此,Distr 團隊強調其平台不僅提供部署工具,更包含客戶入口網站與日誌監控功能,試圖將原本混亂的維運流程轉化為標準化的服務體驗。

針對產品定位,社群展開了有趣的辯論。有使用者質疑為何要在行銷文案中刻意強調 AI 應用,認為這只是當前的流行語。然而開發團隊解釋,分發 AI 應用與一般軟體確實存在技術差異,特別是機器學習模型通常包含巨大的檔案層,容易導致記憶體溢位(OOM)。Distr 為此特別優化了 OCI 登錄檔的實作,改用磁碟暫存而非記憶體處理傳輸中的資料塊,這對機器人產業或需要處理大型 CUDA 層的開發者來說具有實質的技術價值。

在競爭對手與替代方案的比較上,Distr 被視為 Replicated 的現代開源替代品。與 Octopus Deploy 等專注於雲端推播(Push)模式的工具不同,Distr 支援客戶端主動拉取(Pull)的模式,這在安全性要求極高、不允許外部連入的客戶環境中至關重要。此外,也有開發者提出將 Distr 用於企業內部多叢集部署的可能性,認為它填補了 ArgoCD 與完整自動化 CI/CD 體系之間的空白,能作為平台工程團隊建立「單一管理介面」的基礎。

關於商業模式與授權,社群對「SSO 稅」表現出高度敏感。開發團隊澄清,雖然進階的自定義 OIDC 整合屬於付費層級,但基礎的社交登入與 MFA 功能在 Apache 2.0 授權的開源版本中皆有提供。對於網路環境惡劣的離線部署(Air-gapped),Distr 的代理程式設計允許在短暫連線時預抓更新,並在本地完成版本切換,這種設計獲得了處理工業或邊緣運算場景使用者的肯定。

延伸閱讀

  • Replicated:Distr 的主要商業競爭對手,同樣專注於企業級軟體分發。
  • Octopus Deploy:具備強大 CD 功能的部署平台,近期收購了 Codefresh 以強化 ArgoCD 整合。
  • Open Balena:針對 IoT 設備分發與管理的開源平台。
  • Distr MCP Server:支援 agentic workflows 的模型脈絡協議實作,可與 LLM 客戶端整合。