devops那些事(万字长文带你彻底搞懂DevOps)(1)

DevOps 日渐成为研发人员耳熟能详的一个组合词,但什么是 DevOps,为什么 DevOps 对于互联网企业如此重要,真正将其思考透彻的人却不多,带着这些困惑,本文将带你一探 DevOps 的起源、原则和实践,让你搞清楚到底何为 DevOps。

DevOps 的起源可以追溯到 2008 年,在一次敏捷大会的敏捷基础设施话题组被提及,从起源我们可以了解到 DevOps 的发展跟敏捷软件开发是密不可分的。

DevOps 定义

devops那些事(万字长文带你彻底搞懂DevOps)(2)

DevOps 经过这些年的发展,其定义也在不断变化,先来看三段 DevOps 的 wiki 定义。

1、DevOps 2017 - 2020 年英文 wiki 定义(直译)

DevOps是一种软件工程文化和实践(Practices),旨在整合软件开发和软件运维。DevOps运动的主要特点是强烈倡导对构建软件的所有环节(从集成、测试、发布到部署和基础架构管理)进行全面的自动化和监控 DevOps 的目标是缩短开发周期,提高部署频率和更可靠地发布,与业务目标保持一致。

2、DevOps 2021 年英文 wiki 定义(直译)

DevOps 是一系列整合软件开发和软件运维活动的实践(Practices)。目标是缩短软件开发生命周期并使用持续交付提供高质量的软件。

另:

DevOps 与敏捷软件开发是互补关系,DevOps 的许多方面来自于敏捷方法论。

3、DevOps 中文 wiki 定义

DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

提取这三段的共同点,可以看到不论定义如何变化,DevOps 所要实现的目标都是一致的——缩短软件开发生命周期并使用 持续交付 提供高质量的软件。由于持续交付活动中包含了构建、测试和发布等活动,我更倾向于用这个定义,可以更好地缩减定义长度。

另外可以看到英文直接翻译过来的定义中都包含「实践」 一词,而中文 wiki 经过一定的翻译或本地化后变成了「文化、运动或惯例」,其还更强调开发运维之间沟通合作这一点,因此将最新的英文 wiki 定义与中文 wiki 定义相结合,可以帮助我们更好地理解 DevOps,那么它的最终定义是什么就交由读者朋友自己去领会吧。

DevOps 发展背景

devops那些事(万字长文带你彻底搞懂DevOps)(3)

为什么 DevOps 会如此热门,时常被人所提及,这与其发展背景是分不开的,主要原因可以概括为以下几点:

以上主要从企业的角度说明了 DevOps 的发展,这是较为深层次的原因,表层的推动因素包括:容器化技术的发展、微服务架构的发展等等,这些技术上的创新为 DevOps 提供了良好的发展条件,以解决企业面临的这些问题。

DevOps 原则与实践

devops那些事(万字长文带你彻底搞懂DevOps)(4)

了解了什么是 DevOps 及其发展原因后,又该如何具体的进行 DevOps 实践,我们采用黄金圈法则来思考这一问题。

devops那些事(万字长文带你彻底搞懂DevOps)(5)

DevOps 原则是总体指导思想,实践是具体的执行方法,DevOps 是一个动态的过程,在进行相关实践的时候可以看看其应用了哪些原则,当违背原则的时候需要思考实践的合理性。

DevOps 原则

devops那些事(万字长文带你彻底搞懂DevOps)(6)

DevOps 包含以下三大原则:

流动原则

‍‍‍

反馈原则

持续学习与实验原则

DevOps 实践

devops那些事(万字长文带你彻底搞懂DevOps)(7)

基于 DevOps 的相关原则,有与其对应的实践,包括:流动的技术实践、反馈的技术实践和持续学习与实验的技术实践。在应用这些实践之前还需认真设计组织结构,使其有利于实践的开展。

设计组织结构

要使职能导向有效,需要由传统的集中式运维向提供运维服务的方向转变。

devops那些事(万字长文带你彻底搞懂DevOps)(8)

运维融入项目开发工作

流动的技术实践

该部分包含以下内容:

运行部署流水线的基础

实现快速可靠的自动化测试

代码持续集成

自动化和低风险发布

降低发布风险的架构

反馈的技术实践

这部分包含以下内容:

建立遥测系统

智能告警

应用反馈实现安全部署

应用A/B测试

建立评审和协作流程

持续学习与实验的技术实践

这部分包含以下内容:

将学习融入日常工作

将局部经验转化为全局改进

预留组织学习和改进的时间

实践重点

devops那些事(万字长文带你彻底搞懂DevOps)(9)

DevOps 的实践包含许多内容,提炼了以下重点方便查阅:

结语

devops那些事(万字长文带你彻底搞懂DevOps)(10)

DevOps 的发展与技术的发展相辅相成,也为技术人员提供了更多的学习道路和发展方向,借用一句 DevOps 领袖的话来作为本文的结束语。

本文整理自笔者分享的 PPT,原文及 PPT 地址:https://github.com/lcomplete/TechShare

推荐阅读:

世界的真实格局分析,地球人类社会底层运行原理

不是你需要中台,而是一名合格的架构师(附各大厂中台建设PPT)

企业IT技术架构规划方案

论数字化转型——转什么,如何转?

华为干部与人才发展手册(附PPT)

企业10大管理流程图,数字化转型从业者必备!

【中台实践】华为大数据中台架构分享.pdf

华为的数字化转型方法论

华为如何实施数字化转型(附PPT)

超详细280页Docker实战文档!开放下载

华为大数据解决方案(PPT)

devops那些事(万字长文带你彻底搞懂DevOps)(11)

,