DevOps(Development和Operations的组合词)是一种软件开发方法,它将软件开发(Dev)与信息技术运维(Ops)相结合,以缩短系统开发生命周期,同时根据业务目标频繁地交付特性、修复和升级。
DevOps是敏捷的一种方法,与其余敏捷方法不同的是:聚焦于打破开发和运维之间的障碍,也就是打破开发和运维的部门墙,形成开发运维一体化,以及具备更多的运维方面的敏捷实践
(1)Culture(文化)——拥抱变革,促进协作和沟通;
(2)Automation(自动化)——将人为干预的环节从价值链中消除;
(3)Lean(精益)——使用精益准则促使高频率循环周期;
(4)Metrics(指标)——度量每个环节,并通过数据来改进循环周期;
(5)Sharing(分享)——与他人分享成功与失败的经验,并从中不断学习改进。
流动(Flow)准则
流动准则加速了从开发到运维到用户的交付工作,实现了从开发到运维的工作快速地从左向右流动。为了最大限度地优化工作流,需要将工作可视化,减小每批次大小和等待间隔,通过内建质量杜绝向下游传递缺陷,并持续地优化全局目标。通过加快技术价值流的流速,缩短满足内部或者者外部用户需求所需的前置时间,尤其是缩短代码部署到生产环境所需的时间,可以有效地提高工作质量和产量,并使企业具备更强的外部竞争力。
反馈(Feedback)准则
反馈准则使我们能建设出更安全、可靠的工作系统。在从右向左的每个阶段中,应用持续、快速的工作反馈机制。该方法通过放大反馈环防止问题复发,并能缩短问题检测周期,实现快速修复。通过这种方式,我们能从源头控制质量,并在流程中嵌入相关的知识。这样不仅能创造出更安全的工作系统,还可以在灾难性事故发生前就检测到并处理它。及时发现并控制这些问题,直到拥有有效的对策,可以持续地缩短反馈周期和放大反馈环,这是所有现代流程优化方法的一个核心准则,能够创造出组织学习与改进的机会。
持续学习与试验准则(Continual Learning and Experimentation)
持续学习与试验准则打造出一种高度信任的文化和一种科学方法,并将对组织的改进和创新作为日常工作的一部分。建立具备创意和高可信度的企业文化,支持动态的、严格的、科学的试验。通过主动地承担风险,不但能从成功中学习,也能从失败中学习。通过持续地缩短和放大反馈环,不仅能创造更安全的工作系统,也能承担更多的风险,并进行试验帮助自己比竞争对手改进得更快,从而在市场竞争中战胜他们。作为持续学习与试验准则的一部分,我们也设计我们的工作系统,以便让新知事半功倍,将局部发现转化为全局改进。另外,不论是在哪个环节工作,所有经验都可以持续地积累,组织里的人都可以相互借鉴彼此的经验和智慧。