如何减少DevOps工具的泛滥

在过去十年投资于devops之后,许多公司正在经历某种后遗症:工具蔓延。虽然他们的软件交付流程变得更加精简、高效和可靠,但他们也拥有更多的工具来许可、维护和管理。

工具蔓延通常被视为开发团队的灵活性和授权选择他们自己的工具的自然结果,但组织现在明白需要一个单一的、简化的系统。虽然为工作选择合适的工具的灵活性使团队能够快速行动,但结果是一个复杂的系统和流程网络来交付软件。

您现在应该考虑工具整合的三个主要原因:

  • 经济衰退让每个组织都重新审查预算

  • 高度关注安全性以及蔓延对保护软件供应链和 IT 系统的影响

  • 提高效率和开发人员体验,这推动了最近对平台工程的兴趣。整合工具链直接影响所有这三个领域。

如果您是考虑进行工具整合之旅的开发运维专家,那么这里有三个适合整合的领域。

应用程序安全工具

Gartner 最近的一项调查发现,组织正在转向整合他们的安全供应商,这一数字从 2020 年的 29% 上升到 2022 年的 75%。“安全和风险管理领导者 对运营效率低下和异构安全堆栈缺乏集成越来越不满意,”Gartner 副总裁分析师 John Watts 说。“因此,他们正在整合他们使用的安全供应商的数量。”

在 静态应用程序安全测试 (SAST)、 动态应用程序安全测试 (DAST)、软件组成分析 (SCA) 和当今可用的多种其他类型的应用程序安全解决方案之间,组织可能拥有十几种不同的工具来确保他们发布的软件应用程序没有可利用的漏洞。

然而,更多的单点解决方案并不能保证应用程序安全的全面方法。每个工具都代表您的安全工作流程中的一个额外的复杂点,对开发人员的速度和安全风险产生负面影响。最终,安全和 DevOps 团队必须使用不同的应用程序和策略来尝试在其组件生态系统中保持安全一致。

包和工件管理和存储

开发新产品的团队通常不得不使用免费或低成本的解决方案。随着软件工程和开发团队的成长,他们自然会采用更多的工具和技术。随着时间的推移,这会增加开发团队存储其工件的位置数量,造成蔓延、阻碍自动化、阻碍安全性,并且需要手动工作来构建和发布软件更新。 

组织将软件工件存储在以下任意数量的位置的情况并不少见:

  • 包管理器,例如 Maven、PyPI 和 NPM

  • Docker Hub 或其他容器注册表 

  • GitHub、GitLab、Bitbucket 或其他版本控制系统

  • 通用存储,例如 Amazon S3 存储桶、Google Drive 和本地共享驱动器

在多个位置存储和管理工件非常适合小型开发项目,但当团队需要加快发布速度或跨团队共享组件(例如,微服务架构)或跨地域工作时,临时网络存储解决方案就会失效平坦的。

将所有依赖项、构建工件及其元数据整合到一个系统中,可以增强自动化并在一个地方应用您的应用程序安全工作。

系统和数据监控

Moogsoft 可用性状态报告 表明,平均而言,工程师负责监督 16 个监控工具——当服务水平协议 (SLA) 变得更加严格时,这个数字可能会上升到 40 个。拥有如此广泛的工具选择对您的团队来说可能会很混乱,而且与许可、管理和维护它们相关的成本很高。

一般来说,您对流程、基础设施和应用程序的可见性越高越好。但是太多的监控和日志记录工具会产生数据孤岛,使您无法在需要时访问和探索数据。在整个技术堆栈中创建单一管理平台视图不仅可以提供跨职能的洞察力,还可以提高各种工具生成的所有日志的价值。 

如果您已经解决了整合这些领域的问题,还需要考虑以下几点:

  • CI 和 CD 工具 

  • 分发和缓存

  • 源代码和 VCS 工具

不用说,您无法合并所有内容。您必须在现有工具集中维护一些重要的特性或功能。但是,如果您认真对待整合,请考虑单个平台不仅可以减少您利用的工具数量,而且可以将解决方案连接和集成到新整合的技术堆栈中。


作者:Sean Pratt

更多技术干货请关注公号“云原生数据库

squids.cn,基于公有云基础资源,提供云上 RDS,云备份,云迁移,SQL 窗口门户企业功能,

帮助企业快速构建云上数据库融合生态

 

你可能感兴趣的:(软件工程,运维,devops,ci)