Pivotal + VMware: Transforming how more of the world builds software

DevOps:快速可靠的协作式应用交付理念


越来越多的证据表明,精心设计的稳健 DevOps 实践可提高软件部署的速度和稳定性,同时还可缩短故障恢复时间和软件更新前导时间。

为什么 DevOps 十分重要

推向市场的时间缩短

在软件驱动的世界中,快速构建和发布软件以了解客户需求并避开竞争对于成功至关重要。鉴于现代企业应用中分布式组件间复杂的相互依赖关系,成熟的 DevOps 实践可以避免通信错误和延迟,并可借助开发人员和 IT 运维团队的联合专业知识来实现简化的软件交付。《2016 年 DevOps 状态报告》指出,实际践行 DevOps 的企业的部署频率能够平均提高 200 倍,并且前导时间,即打算部署代码和代码投入生产之间的时间,能够缩短 2555 倍。其他行业研究也有类似的发现,如以下 Gartner 图表所示,其中列出了改用 DevOps 方法的更多优势。


问题:以下哪些成果是 DevOps 为您的企业创造的?

受访者:n=95 名实际践行 DevOps 的 Gartner Research Circle 成员

[资料来源: Gartner; Five Questions I&O Leaders Should Ask Before Funding a DevOps Initiative; October 2016]

观察到的 DevOps 成果




风险更低,部署更顺畅

编排和管理现代应用的开发、部署、扩展、保护、修补和高可用性是一件复杂的事情,充满潜在的失败诱因。DevOps 实践包括协作式文化以及包装、部署、监控和管理任务的自动化,可实现以一致的方式快速将新代码和更新部署到生产环境中。再加上持续学习,DevOps 团队可以识别和消除大多数问题来源,从而建立更加稳健、简化、可重复且成熟的发布流程,使软件部署始终都能顺利进行。


恢复速度更快

当代码导致生产中断或引起停机时,DevOps 实践已准备好以更快的速度进行诊断并恢复。由于利用可为大多数发布和管理流程提供支持的重要自动化和监控功能,DevOps 团队可以快速协作以跟踪并确定故障的来源、回滚更改或问题修复程序。事实上,《2016 年 DevOps 状态报告》显示,由于这样快速而井然有序地回应意外生产问题,实际践行 DevOps 的企业将平均恢复速度提高了 24 倍,同时将更改失败率降低了 3 倍。


客户满意度更高,产品具有更好的市场适应性

迅速可靠地发布功能或错误修复程序不仅可以提高响应速度和最终的客户满意度,而且可以针对客户最关心的功能快速进行反馈并更快地进行融合。DevOps 实践是这种持续交付和快速周期的核心。如果开发人员和 IT 运维人员之间没有持续进行紧密的协作来管理最终面临的复杂问题,那么将无法始终如一地快速开发、测试和交付现代化的分布式生产就绪型软件功能。


DevOps 与传统方法

DevOps 为软件企业提供了不同的理念和新的流程。实际践行 DevOps 的企业与采用较传统方法的企业相比,存在下面一些主要区别:


主要区别: DevOps 与传统方法
DevOps 实践:
传统的方法具有以下特点:
以协作为导向。 DevOps 能否成功取决于软件开发人员和 IT 运维团队能否成功而持续地进行密切协作,以确保快速而可靠地开发和交付软件。 孤立环境驱动。 传统方法所依靠的协作被比喻为“隔墙扔”,也就是说,IT 运维团队负责部署和管理生产环境中的软件,而开发团队基本上不提供帮助或见解。
结构化和全自动化。 DevOps 实践依靠自动化来确保环境调配和配置的速度、一致性和可可重复性,从而保证在开发环境中有效的功能在生产环境中依然有效。结构化方法还可提高故障恢复的速度,因为可重复的自动化能够简化回滚和恢复操作。 手动调整配置。 传统方法依靠脚本编写和手动流程的临时组合来调配和配置基础架构,这导致很难正确操作、可靠地重复或者快速完成。这种方法往往会遇到许多问题,这些问题都起因于无法快速、一致地利用配置对等来调配开发和生产基础架构。
以自助服务为导向。 DevOps 驱动型企业会建立协作和自动化框架,使开发人员和 IT 运维团队能够独立行事,而不会彼此妨碍。例如,开发人员可以通过自动化方式快速调配开发/测试环境,而无需等待 IT 运维团队手动调配。 以“信息技术申请”为导向。 传统的企业方法需要 IT 运维团队来管理 IT 申请的管理开销,并执行可轻松自动完成的重复、手动、复杂的调配和配置。这会给调配、部署、扩展及其他软件交付和管理活动带来严重的复杂性和延迟问题。
注重业务。 DevOps 企业注重联手实现业务上的成功。因此,他们注重共同承担起确保软件交付成功的责任。 注重职能。 传统方法要求开发团队和 IT 运维团队专注于履行其职能,这些团队与整体成功几乎没有任何关系,也几乎不对整体成功承担责任。因此,问题和失败常常会引起很多指责和企业摩擦。
专为实现改变而设计。 所设计的 DevOps 实践具有快速、自动化且可重复的特点,专门用于应对快速变化以及在故障期间快速恢复。反应迅速是它们的设计核心。 不愿意改变。 传统方法因为担心破坏生产部署,无法快速恢复,而尽量避免改变生产部署。他们尽可能地减少变更和更新,并间接鼓励企业放慢速度。凭证频繁更换,以便只能使用很短一段时间。
联系我们