模板即代码(templates-as-code)之所以逐渐被淘汰,并不是因为有了更好的模板工具,而是因为平台化体验的崛起。

我们终于删掉了我们的 Helm chart。
当然,不是全部,但那些拖慢开发节奏、降低稳定性,甚至快把我们逼疯的 chart,全被清理掉了。
这不仅是抛弃 Helm,
更是抛弃一种观念 —— 工程师不应该都要知道容器是怎么部署到生产环境的。
因为,这压根没必要。
🎩 Helm 带来了什么(又带走了什么)
Helm 刚出来的时候,确实像魔法一样。
- 模板可复用!
- 配置随便覆盖!
- 一个 helm install 搞定上线!
但很快:
- 模板层层嵌套,改起来像噩梦
- values.yaml 嵌套得像俄罗斯套娃
- 改个小东西 → 模板逻辑调试十分钟
- 开发者复制 Helm chart,像复制 StackOverflow 上的代码
- Helm 从“包管理器”沦为“层层套娃、充满坑的 DSL”。
说到底,这也不全怪 Helm。
是我们在平台还不够成熟时,硬用它来兜底。
🧰 谁在取代 Helm?不是某个工具,而是一整套打法。
我们来看看现在的新三大支柱。
1️⃣ Kustomize(反 Helm 派)
我们在能用的地方,尽量都换成了 Kustomize。
为什么呢?
- 不需要模板语言
- 直接在原始 YAML 上做叠加
- GitOps 流程更清爽
- 更适合需要确定性部署的场景
不过 Kustomize 还是要求开发者得读 YAML。
但当组织里一半的人只想专心做功能开发,这就不太现实了。
2️⃣ CDK8s(如果你非要用代码搞基础设施)
CDK8s 对一些团队来说彻底改变了玩法。
- 用 TypeScript、Python、Java 写基础设施
- 用编程逻辑替代 YAML 的堆砌
- 随时动态生成原始 Kubernetes 清单
对于热爱编码的平台工程师来说,CDK8s 比 Helm 模板顺手多了。
但说到底……CDK8s 还是代码。
所以对新人或者跨职能团队来说,友好度就不那么高了。
3️⃣ GUI 优先的平台(这是个颠覆性的思路)
重头戏来了。
我们越来越多地在用内部开发平台(IDP),它们通常具备:
- 部署操作的 Web 界面
- 服务的预配置模板
- 模板和复杂逻辑全藏在背后
- 90% 的团队甚至压根不需要碰 YAML
这些可不是些花里胡哨的 IDE 插件。
它们是正经的、支撑生产的系统:
✅ 开发者配置运行时、扩缩容和环境变量
✅ 平台自动生成 K8s 清单或者触发 CI/CD 流水线
✅ 运维团队负责保障和设置规范 —— 而不是凌晨三点爬起来修 Helm 模板
这并不是反 DevOps,
而是 DevOps 的一次进化。
🧠 为什么平台思维会终结 Helm
Helm 其实是平台能力不够时的权宜之计。
它让团队做了一点点抽象,勉强支撑着活下来。
但现在呢?
- GitOps 负责同步集群和配置
- Terraform 或 Pulumi 做集群资源预配
- ArgoCD 管自动化部署流水线
- Backstage 或 Port 提供开发者门户
在基础设施和应用配置没啥边界的时代,Helm 的确挺管用。
但在边界清晰、默认配置统一、最佳实践清晰的今天,Helm 只会成了多余的噪声。
🧨 说白了:Helm 在多团队协作下根本不灵
每个团队写 Helm chart 的风格都不一样。
调试时,你得彻底搞清楚模板的调用链才能下手。
跟这种体验比比看:
- 点一下“新增服务”
- 选个基础模板
- 在 Web 界面上填好内存、密钥
- 全程不碰 YAML,直接部署上线
你说,普通开发者会喜欢哪个?
哪个方式更不容易出故障、上线更快、上手也更轻松?
肯定不是那个还要 helm lint 的。
🚫 模板化只是个表象,不是真正的解决方案
如果你的平台还要靠复杂的 Helm chart 去堆功能,先问问自己:
“我们到底在弥补平台的哪些缺陷?”
通常是因为:
- 没有好用的开发者界面
- 缺 GitOps 集成
- 没配好服务脚手架
- 环境隔离做得差
把这些搞定了,你就会发现:模板?其实根本用不上多少。
👋 一封告别信
我们不是“反 Helm”。
我们是效率优先。
是开发者体验优先。
是支持那些真正不暴露底层细节的抽象。
再过两年,Helm 不会被官方弃用 —— 但它就像你明明有 ORM,却还要手写原始 SQL。
它还会用,但大多数团队,早就不会首选了。
TL;DR:下一代内部开发平台,根本不需要 Helm
- Helm 曾经帮我们撑起了早期的 Kubernetes 扩展。
- 但它难以标准化,滥用成本又高。
- Kustomize、CDK8s、还有像 PaaS 一样的 IDP,正在替代它。
- 目标很明确:不用 YAML,不写模板,安全性拉满。
📦 如果你还在靠手动维护 40 个 Helm chart,别急着怪工程师能力不够。
也许,真正该升级的,是你的平台。
毕竟,在平台时代,最好的模板,是开发者根本不需要见到的。
原作者:AWS in Plain English



