DevOps ROI 之路





0/5 (0投票)
DevOps 投资回报依赖于最佳实践与正确工具的结合。工具赋能实践,反之亦然。CloudMunch 平台实现了这一点。
理解最佳实践与工具链之间的相互作用
DevOps 作为一种软件开发方法论正日益受到关注。虽然它可能不适合所有开发组织,但开发人员(Dev)和 IT 运营(Ops)以及测试人员之间的协作理念,解决了必须在快速周期中发布代码的组织固有的许多问题。这很直观。谁不想让那些编写代码的人与负责测试并使其在现实世界中运行的人之间有更好的协调和更紧密、更有效率的联系呢?
然而,让 DevOps 产生效益可能有点棘手。DevOps 投资回报(ROI)的来源是更快地向客户发布高质量代码、提高 Dev 和 Ops 团队的生产力,以及整个过程中潜在的劳动力成本节省。要实现这些成果,就需要保持相当多的活动部件在一个连贯的结构中运行。根据我们的经验,要成功实现 DevOps,就需要掌握该方法论本身(包括最佳实践)以及用于实施它的工具链。
实践与工具链对齐的需求使 DevOps 不同于其他 IT 范式,在那些范式中,方法论和工具可以相对独立。一个组织可以追求云计算、大数据或事件驱动架构(仅举几个流行趋势),并可以随意选择任意数量的工具来完成工作。DevOps 是不同的。在 DevOps 中,实践和工具是紧密交织在一起的。软件的独特性(它要么工作,要么不工作)以及分布式利益相关者之间的脆弱连接,给工具带来了压力,使其能够有效地支持实践。
在过去的几个月里,我们与财富 500 强公司以及精益初创公司的 DevOps 团队进行了合作。在这些严苛的环境中实施持续交付所面临的挑战,塑造了我们的思路,并影响了我们在全栈 CloudMunch DevOps 平台中提供的功能。借用马歇尔·麦克卢汉的话来说,我们逐渐认识到,*工具即实践*,*实践即工具*,可以说是这样。以下 DevOps 的方面展示了最佳实践与工具链融合的价值
在一块玻璃板中为所有角色提供早期、即时的反馈
DevOps 基于开发人员和运营团队之间的协作。这代表了大型团队的文化转变,在这些团队中,让每个人都共享目标和指标历来都很困难。然而,一旦成功,人们的生产力和敏捷性就会提高。开发人员、测试人员、产品经理和系统工程师都能取得优异的成果,并看到他们工作生活质量的提高。协作成为工作文化的常态。要确保每位开发人员、测试人员和系统工程师都是高绩效者,唯一的方法就是确保他们获得早期、即时的反馈。当开发人员将代码推送到存储库时,他们应该立即获得关于代码的反馈。产品经理需要能够创建一个沙箱,将新功能展示给业务利益相关者,以便在第一天就获得反馈。系统工程师必须能够在代码仍在开发过程中时,在生产环境中模拟新功能。
将早期、即时反馈实践变为现实需要工具的支持。*工具即实践*,体现在三个方面:代码在开发过程中必须具有持续的智能。操作智能和用于分析的自动化仪表板也至关重要。开发和运营工具应配置为生成指标。例如,持续集成工具可以记录构建发生的时间、运行的测试数量、测试运行的时长、构建是否成功、成功的测试数量、哪些文件频繁更改等等。然后,可以分析这些数据,并在自动化仪表板中显示。操作智能是应用程序和基础设施监控的一个方面。它提供了一个机制,通过单一仪表板跨所有功能和角色提供反馈,以便每个人都可以看到它并根据需要采取行动。分析和自动化仪表板为整个团队(跨角色)提供了实时洞察,以便他们能够获得与其各自任务的所有方面相关的早期和即时反馈。如果做得好,结果将是一个高效、高产的 DevOps 团队。
一键访问整个应用程序生命周期
有了 DevOps,Dev 和 Ops 团队之间的协作必须无缝进行。它必须在整个应用程序交付价值链中顺利运行。良好的 DevOps 以建立自动化流程和系统为起点,用于集成配置管理、持续集成、自动化测试、部署规划、基础设施供应、持续部署、集成变更管理和监控。这些实践与工具是密不可分的。*实践即工具。*
将所有这些工具集成到全栈 DevOps 平台中至关重要,这样每个人都可以共享通用工具,而无需在团队之间传递工件,从而冒着产生漏洞的风险。这意味着在同一个管道中测试和部署应用程序代码和基础设施代码。当 DevOps 团队创建拼凑的混合工具集时,生产力和质量问题不可避免地会随之而来。一开始可能效果不错,但随着规模和复杂性的增长,工具链开始崩溃,无法再提供团队做出更好决策所需的可见性和指标。更糟糕的是,随着持续交付模式的成功,规模和复杂性通常会呈上升趋势。
随着新功能的发布,每天进行多次部署已是常态。随着 DevOps 的蓬勃发展,企业也习惯了 IT 带来更多创新,这个循环也因此变得更加紧张。这就是所谓的快速创新文化。当 DevOps 最佳实践和工具链合二为一时,就会出现这种情况。拥有完全集成的 DevOps 工具链,并能够一键访问整个应用程序生命周期,已被证明有助于团队轻松扩展。
无缝开发和运行
应用程序必须设计成能够随着业务需求而变化。这一最佳实践是 DevOps 的核心,它通过工具链得以实现。一家公司可能最初在一个公共云中运行应用程序,但很快就需要将其移至防火墙后面,或者将后端移至大数据平台等等。当 DevOps 团队开始开发应用程序时,通常会有一个目标环境。然而,最佳实践是确保开发和运行环境都具有灵活性,以便应用程序能够随着业务的发展而变化。例如,团队今天可能使用公共 PaaS,但明天可能需要切换到内部私有云。
为 DevOps 团队提供灵活性的工具涉及为持续集成、自动化测试、部署和生产环境提供弹性的供应。*工具即实践*。必须具备在任何环境中无缝开发/测试/运行的灵活性。
实现这一目标的唯一方法是随时随地供应基础设施和工具链,并跨这些环境维护应用程序堆栈。项目和配置文件可以被跟踪和版本化,这样就可以通过单击重现以前配置的系统,以便轻松测试新代码、恢复到以前的配置以及比较系统版本。必须有一个完全可搜索的存储库,以促进标准化和重用。
DevOps 投资回报:让工具和实践融为一体
DevOps 平台是工具链、最佳实践和 DevOps ROI 之间的连接。就 CloudMunch 而言,我们使 DevOps 团队能够将大量不同的开发工具、PaaS 平台和生产环境集成到核心平台中。CloudMunch 平台集中管理,但根据团队的需求具有多方面功能,让每个参与者都能访问和提供对流程任何方面的即时反馈。CloudMunch 集成了 Dev 和 Ops 团队,提供了令人垂涎的一键访问整个应用程序生命周期的功能。CloudMunch 还支持应用程序在不同生产环境之间灵活迁移。所有这三种通过工具支持的实践都提高了效率和生产力,从而带来了该方法论承诺的快速部署和低成本 DevOps。
要了解有关 DevOps 投资回报的更多信息,请阅读完整的白皮书。