Show HN: Distr 2.0 – 一年学习如何向客户环境交付

发布: (2026年2月10日 GMT+8 20:19)
4 分钟阅读

Source: Hacker News

Introduction

一年前我们推出了 Distr,帮助软件供应商远程管理客户部署。我们提供了拉取更新的代理、带 GUI 的中心枢纽,以及许多关于本地部署需求的假设。

很快我们发现,当软件运行在无法直接 SSH 进入的环境时,情况会变得非常混乱。

在过去的一年里,我们还帮助现代化了许多自研解决方案:

  • 通过电子邮件发送更新失败信息的 Bash 脚本
  • 没有人信任的 Excel 表格,用来跟踪客户版本
  • 工程师开车去客户现场现场解决问题
  • 通过电子邮件进行调试会话(“能把日志截图发给我吗?”)
  • 客户能够访问内部的 AWS 或 GCP 注册表,因为没有更好的方案
  • 部署落后两个主要版本,没人愿意动手

Breaking change: Customer organizations

我们等了一年才进行第一次重大变更,这导致了一次显著的 SemVer 升级。此变更是必要的:我们彻底重写了客户组织的管理方式。

  • 供应商 是想要分发软件/AI 应用的作者。
  • 客户 现在属于 客户组织,该组织管理其内部用户和 RBAC(基于角色的访问控制)。

之前每个客户仅是拥有一个部署的单一用户。新模型需要对我们的 API 进行迁移。云客户迁移顺利,但基于我们 API 构建的自定义解决方案需要更新。

Notable features since launch

  • OCI 容器注册表 – 基于改编自 google/go‑container‑registry 的版本,直接嵌入代码库,并通过单个 Docker 镜像的独立端口提供服务。它让供应商能够分发 Docker 镜像及其他 OCI 工件,用于自托管部署。
  • License Management – 限制哪些客户可以访问哪些应用或工件版本。它将合同协议(例如对特定软件版本的基于时间的访问)进行代码化。
  • Container logs and metrics – 在没有 SSH 访问的情况下也能查看。我们曾在使用时序数据库与将日志存储在 Postgres 之间进行争论;经过对 Postgres 索引的大量调优后,方案现在运行稳定。
  • Secret Management – 确保数据库密码不会出现在配置步骤或日志中。

Adoption

Distr 目前已被 200+ 供应商 使用,包括《财富》500 强公司,覆盖本地、GovCloud、AWS 和 GCP 环境。我们的用户遍及健康科技、金融科技、安全和 AI 领域。我们也已经开始着手第一个空气隔离环境的工作。

Future plans (Distr 3.0)

我们正在开发原生 Terraform / OpenTofuZarf 支持,以在客户的云账户和物理环境中进行基础设施的供应和更新。这将使供应商能够通过单一平台提供 BYOC(自带云)和空气隔离的使用场景。

Open source & documentation

  • Repository:
  • Docs:

我们是 YC S24。欢迎就本地部署提出问题,也很期待听到您在复杂客户部署方面的经验。

0 浏览
Back to Blog

相关文章

阅读更多 »