在对100多家企业的调研中,DevOps初创公司Earthly发现,CI/CD(持续集成/持续交付)中最严重的问题并非速度,而是开发栈的多样性带来的管理难题。企业内部团队使用各自偏好的工具、编程语言和框架,虽然容器化和Kubernetes保证了应用间的兼容性,但公司范围内的安全与工程规范难以执行

Earthly创始人Vlad Ionescu指出:“在任何企业中,你会看到混合的编程语言、CI工具、构建脚本、打包方式、内部脚本和适配器等。安全团队无法看到这些混乱,工程领导也难以评估每个应用的成熟度和质量标准。”受访企业包括DocuSign、Twilio、LinkedIn、Box、摩根士丹利和纽约梅隆银行

容器化虽然赋予团队自由,但这种自由带来了管理上的复杂性。团队可以独立开发自己的微服务和应用,但跨团队的工程与安全一致性因此受阻。Reddit上的讨论也反映了这一点:没有单一的DSL可以统一CI/CD的配置、部署和监控。团队需要掌握Jenkins、Docker、Kubernetes、Helm、Terraform、Ansible等工具,还要应对云服务供应商偶尔改变仪表盘和告警定义的情况。

多应用、多微服务的结构加剧了这一问题:相比单一代码库,多个团队各自独立的仓库更难统一管理。但同时,允许团队使用自己偏好的工具也能提升效率和创新能力。Ionescu提到,像Google和Facebook这样的企业几乎没有这些问题,因为它们在统一的CI/CD基础设施上投入了大量资源

针对这一挑战,Earthly推出了Lunar,一个CI/CD监控系统。Lunar通过对CI/CD流程进行数据采集和元数据生成,帮助企业评估代码构建、测试、扫描和部署是否符合策略。虽然Lunar提供了对多样化DevOps流程的标准化视图,但它并不能完全解决Ionescu所指出的核心问题。

这一现象揭示了一个深层矛盾:开发自由与管理统一之间的权衡。企业可以通过标准化CI/CD流程缓解问题,但对于已经存在的大型组织而言,这一过程难度高且需要长期投入。在推动创新与保障工程质量之间,找到平衡点成为企业管理的新考题。