turbopuffer:如何每天发布数据库
How to ship a database every day

在 turbopuffer,我们每天部署数十次数据库升级,甚至在同一天提交 PR 后就立即上线。面对 public SaaS、single-tenant SaaS 和 BYOC 三种部署模式下的 100 多个集群,我们无法直接 SSH 或 kubectl 登录客户的 BYOC 环境。为此,我们设计了一套无需“伸手”即可操作的架构:每个集群运行本地 agent,通过 Kubernetes CRD 实现状态机驱动,自动推进升级、整理等操作。控制平面通过 API 下发任务,集群主动拉取并反馈状态,即使断连也能独立完成任务。我们摒弃了 Terraform 等 IaC 工具,转而构建基于 Remix/React 的键盘友好型 Dashboard,让工程师像使用代码编辑器一样高效管理集群。这套机制让我们能在不触碰客户资源的前提下,实现每日多次的数据库发布。
我们不需要伸手去操作集群,因为状态机本身就能驱动工作走向完成。