不止Terraform:如何扩展DevOps

这是我们在旅程中学习的教训,以克服DevOps的挑战,为后续的扩展奠定基础。

译自Beyond Terraform: How We Scaled DevOps,作者 Malcolm Edgar 是Drop Bio Health的首席技术官,这是一家通过血液生物标志物和生活方式分析在家提供健康跟踪的公司。他之前曾担任金融科技公司Avoka Technologies的首席技术官,并获得了一项加密方法专利。

这是两部分文章的第一部分。

成为一个新兴科技公司的首席技术官,有点像在玩杂耍火把。保持敏捷、快速和安全的责任往往会压垮小型团队,尤其是因为云开发的复杂性。在2023年,我的公司Drop Bio Health通过血液生物标志物和生活方式分析在家提供健康跟踪,决定简化云开发以专注于核心产品价值开发。

我一直在重新考虑我们的DevOps方法,以提高团队效率、增加我们的部署频率并进一步加强安全协议。这里是我们在这次旅程中学到的教训的故事,以克服DevOps的挑战并为可扩展增长建立自己。

与许多团队一样,我们首先与AWS云开发工具包(CDK)一起走上了Terraform之路,希望它能成为我们云基础设施问题的灵丹妙药。然而,这次旅程引入了许多意想不到的DevOps复杂性,不仅消耗了我们团队不可持续的时间,而且分散了我们对核心产品开发的注意力。

Terraform的声明性性质意味着一切,包括资源及其配置,都必须明确定义。随着我们的架构的增长,代码行也在增长 - 运行到成千上万行。这个庞大的代码库变得越来越难以管理。

此外,维护一个仅用于基础设施的专用项目意味着我们发现自己在两个主要项目之间来回切换: 一个专注于我们的应用程序,另一个仅针对基础设施。这种分工在我们的团队内制造了不必要的隔阂,并对确保我们的应用程序和基础设施更改保持同步提出了挑战。

测试Terraform也提出了其独特的一系列挑战。鉴于其面向配置的性质和缺乏直接的测试框架,测试更像是模式匹配而不是常规的逻辑验证。因此,调试更多地是侦探工作而不是解决问题。

随着我们的Terraform代码库的扩展,很明显需要分割来进行管理。然而,这种看似谨慎的决定,将配置拆分到多个文件和目录中,使追踪依赖关系和整体理解变得更加困难。回顾起来,我们进入Terraform世界的旅程,虽然开始是很乐观的,但逐渐变成了复杂性的泥沼。我们需要一个变化,这样我们就可以把更多宝贵的时间和资源花在我们的业务目标上,而不是手动的DevOps任务上。

进入: 基础设施自动化

虽然我们正在努力抵消这些复杂性,但市场正在以惊人的速度发展,任何延误都可能意味着错失机会。在这种环境下,管理开发和运维的压力开始给我们的团队带来负担。

我开始看新的基础设施方法,寻找自动化来解决我们在基础设施即代码工具(如CDK和Terraform)面临的挑战。最新的从代码中的基础设施创新非常适合帮助我们的小团队快速高效地进行工作。我们使用Nitric(请查看GitHub上的开源项目),它根据我们的代码自动提供所需的基础设施,并提供意见鲜明的最佳实践来帮助我们以高效和自信的方式进行云部署。

我们的基础设施和部署流程要简单得多,使我们的团队可以自由地专注于开发我们的核心业务功能并按需部署。Nitric提供的自动化意味着我们可以扩展DevOps,同时绕过Terraform的常见挑战。

作为Nitric实施的一部分,我们也重新审视了我们的应用程序架构。这导致了一些关于可扩展性、安全性和成本的改进(AWS托管成本降低60%)。在第二部分中,我将分享我们学到的架构课程和我们取得的成果。

您也可以在这篇文章中了解有关我们在这个项目中的成功的更多信息。

本文在云云众生yylives.cc/)首发,欢迎大家访问。

相关推荐
猴哥聊项目管理1 天前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享
NineData3 天前
NineData云原生智能数据管理平台新功能发布|2025年5月版
数据库·云原生·oracle·devops·ninedata
一ge科研小菜鸡3 天前
云原生 DevOps 实践路线:构建敏捷、高效、可观测的交付体系
运维·云原生·devops
FreeBuf_5 天前
黑客利用GitHub现成工具通过DevOps API发起加密货币挖矿攻击
运维·github·devops
迢迢星万里灬7 天前
Java求职者面试指南:DevOps技术栈深度解析
java·ci/cd·docker·kubernetes·jenkins·devops
茶本无香8 天前
Jenkins:自动化流水线的基石,开启 DevOps 新时代
自动化·jenkins·devops
极小狐8 天前
GitLab 18.0 正式发布,15.0 将不再受技术支持,须升级【六】
ci/cd·gitlab·devsecops·devops·gitlab升级·极狐gitlab
极小狐10 天前
GitLab 18.0 正式发布,15.0 将不再受技术支持,须升级【二】
ci/cd·gitlab·devsecops·devops·gitlab升级·极狐gitlab
一ge科研小菜鸡11 天前
云原生与DevOps融合实践:加速企业数字化转型的加速器
运维·云原生·devops
极小狐12 天前
GitLab 18.0 正式发布,15.0 将不再受技术支持,须升级【三】
ci/cd·gitlab·devsecops·devops·gitlab升级·极狐gitlab