一、引言
一个典型的 DevOps 流程涵盖需求、计划、编码、构建、测试、发布、运营等多个环节,DevOps 通过增强团队间的协助和沟通,构建自动化持续交付流水线,达到快速交付和安全可控的目的。
现代化的应用架构,尤其是微服务应用架构,基本都是分布式的应用架构。分布式架构会带来交付和运维的复杂性,增加交付和运维的难度。容器技术可以使软件交付标准化,容器技术可以满足分布式应用交付的需求。
DevOps 落地过程中,最关键的,也是最大挑战的是构建自动化持续交付流水线。自动化持续交付流水线涉及到代码管理(代码提交、代码静态分析、编译、构建、打包、单元测试等)、代码集成、部署、发布等环节,涉及到的工具主要包括代码管理工具、CI 等。
二、DevOps目标
DevOps 是一种方法论,是一系列可以帮助开发者和运维人员在实现各自目标(Goal)的前提下,向自己的客户或用户交付最大化价值及最高质量成果的基本原则和实践。
开发者和运维人员之间最大的问题在于:虽然都是企业中大型 IT 部门不可或缺的,但他们有着截然不同的目的(Objective)。
开发者和运维人员之间目的上的差异就叫做混乱之墙。下文会介绍这个概念的准确定义,以及为什么我认为这种状况很严峻并且很糟糕。
DevOps 是一种融合了一系列基本原则和实践的方法论(并从这些实践中派生出了各种工具),意在帮助这些人员向着一个统一的共同目的努力:尽可能为公司提供更多价值。
让开发、测试、部署变得敏捷起来!而这恰恰正是 DevOps 所要达成的唯一目标!