云蔓延不可避免,但复杂性可以避免:用可见性、自动化和代码控制云环境

本文探讨了云蔓延带来的管理挑战,指出仅靠基础设施即代码(IaC)不足以保证云环境可控,强调需要通过全面可见性、自动化流程和代码强制变更来管理多账户云环境,避免安全风险和运维负担。

云蔓延不可避免;但复杂性不必如此

不到十年前,大多数团队在单个云账户中运行开发、预生产和生产环境。如今,这似乎难以想象。

现在,您至少从10个AWS账户开始云之旅。每个环境一个:一个用于网络,一个用于日志记录,一个用于安全,一个用于……您明白的。如果您有多个业务单元或产品?将所有内容至少乘以三。

当我们启动ControlMonkey时,我当然构建了基础设施(infra)。一周后,我们的一位开发人员问道:“为什么我们已经有了这么多云账户?”他是在开玩笑,某种程度上。

这是因为账户数量并不是真正的问题;问题是云领导者如何管理它们。

问题不在于多账户——而在于多一切

挑战不仅仅是规模——而是波动性:工程师变更角色、需求变化、新工具引入而缺乏文档等等。不久之后,您就会拥有无人完全理解的脆弱系统。当出现问题时,您的团队会花费数小时扮演侦探角色,而不是交付成果。风险不仅仅是技术性的;它们是组织性、操作性和财务性的。

一旦您跨数十个云账户操作,以下事项几乎立即变得困难:

  • 可见性:您需要在标签、仪表板和日志之间跳转,才能找到什么在何处运行。
  • 安全性和合规性:每个账户都成为另一个攻击面、另一个审计跟踪和另一个待办事项。
  • 知识保留:设置那个“遗留”账户的工程师已经离开——上下文也随之消失。
  • 工程负担:手动工单、控制台点击操作、漂移调查。每个人都在救火。

这不仅仅是关于云。还包括SaaS工具、可观察性平台、CI/CD系统和版本控制。现在,您正在管理数十个影响基础设施覆盖范围的系统。

所有这些的未来是清晰的:将会有更多的账户、基础设施和需求,随着团队成员离开,机构知识将比今天更少,而交付期望不会放缓。

如果您的运营模式无法跟上,所有这些复杂性就是混乱的配方。

每个人都知道答案:基础设施即代码

首先,说实话——仅仅拥有Terraform或OpenTofu并不意味着您在大规模、一致或安全地使用它。基础设施即代码(IaC)覆盖本身并不是万能药。

我建议问自己(就像我问自己一样):

  • 所有基础设施变更是否都通过代码进行?
  • 有人可以通过手动变更绕过流水线吗?
  • 您是否不断分诊警报并回滚事物?

根据我的经验,大多数云团队不需要被说服IaC是答案。真正的问题是执行和规模。除非您能保证每个变更都通过代码进行,否则您就是在盲目飞行,并为此付出累积的工单、负担和风险。

系好安全带……并开得更快

我是这样想的(用另一个交通比喻)。

今天的云团队在浓雾中以100英里/小时的速度行驶。我们正在加速交付、更快发布、部署AI工作负载并全球扩展。但没有可见性和控制,您就是在不系安全带的情况下超速行驶。

一个有弹性的(即系安全带的)多账户策略始于三件事:

  • 全面可见性:您无法管理看不到的东西。每个账户、每个资源、每个流水线——在一个地方可见。仪表板,而不是侦探工作。
  • 全面自动化:基础设施应该只有一种交付方式:通过代码。没有手动快捷方式,没有一次性流水线;只有一条通往生产的设计路径。
  • 全面弹性:所有配置都得到备份,每个变更在生产之前都经过验证和政策对齐。这就是让您的团队晚上能睡觉、白天能建设的原因。

如果您没有这些东西?您会在各处感受到:安全问题、合规审计、人员流失和无尽的负担。与此同时,业务的其余部分不会等待。AI、产品速度、全球扩展——这些不会在您弄清楚如何重新获得控制时暂停。

那么,该怎么办?

从哪里开始:10分钟内的5个问题

  • 按环境划分,您的真实IaC覆盖范围是多少?
  • 您能检测到是否有人绕过您的Terraform或OpenTofu流水线吗?
  • 您的团队在基础设施拉取请求(PR)来回和手动审查上损失了多少时间?
  • 您是否在未来12-24个月内管理更多基础设施?
  • 您能否无需手动挖掘就证明您的生产基础设施现在合规?

如果其中任何一个让您停顿,它可能已经在让您付出代价。

无论您是构建自己的框架还是采用平台,都由您决定。如果它是基于OpenTofu或Terraform的多云,重要的是您停止接受云蔓延为不可避免,并开始管理所有这些账户。

全面可见性。全面自动化。全面弹性。这就是您保持控制的方式,无论您走得多快。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计