cloudplz

本页是译文,以英文原文为准。 阅读原文

项目

No-code 基础设施平台

通过 Backstage 做自助式 Aurora 开通 —— 不写 Terraform 就拿到生产可用的集群,比工单流程大约快 80–95%。

当时的瓶颈不在数据库本身,而在它前面排着的那条队。这个平台把队去掉了: 产品团队填个网页表单,就能开通生产可用的 Aurora 集群,不用碰 Terraform。

问题

基础设施即代码让开通变得可重复,可瓶颈只是换了个地方:

  • 要会 Terraform。 不是每个团队都有这个技能,也不该为了拿一个数据库就得会。
    • 交付周期。 一个常规集群申请,就卡在平台团队队列里等。
  • 模式不一致。 放任团队手写 HCL,基础设施的质量和形态就会漂移。
  • 平台团队成了关键路径。 每个数据库申请都要过一个小团队 —— 这扩不了。

目标:让开通人人能用,但别让配错也跟着普及。

做法

三层,每层只干一件事:

强约定的封装模块。 按引擎拆的 Terraform 模块,只要三个输入:应用名、环境、 规格。其余全是精选默认值:当前稳定引擎版本、30 天备份保留、加密打开、 Performance Insights 打开、 生产环境删除保护打开、监控和密钥都接好。引擎版本限定在受支持范围内;实例规格限定在批准过的档位。

Backstage 模板。 用户看到的那个表单。模板只让用户做三四个真正的决策,其余由它自动校验, 然后生成一个仓库,里面带 Terraform 配置和一条开箱可跑的流水线。 HCL 一眼都看不到。

一体化的运维。 凭证走 Vault,监控看板和告警跟着集群一起开通 —— 开箱就有,不用再补一张工单。

让它真能落地,靠两个做法:

  • Customer zero。 每次模块变更,都要先走一遍真实模板流程开通验证,才允许发布 — — 平台团队先用自己的平台。
  • 一对多发布。 模块发布流水线把一个上游模块,映射成按引擎拆的封装模块,每一层都跑回归测试。

结果

产品团队开通生产可用的 Aurora MySQL 和 PostgreSQL 集群,从几天变成几分钟 ——比工单流程大约快 80–95%, 估计每年能省回 3,000+ 工程小时。每个集群都走同一套加固过的模式,评审、成本分析、 安全扫描,一致性跟着一起到手。

取舍在这:平台从此是个产品,有用户。默认值、升级指南、文档都是长期义务 ——但这比当开通瓶颈, 扩展性好得不成比例。