标签
blog
devops
ref
done
字数
1146 字
阅读时间
5 分钟
概述
DevOps 的演进
回顾 DevOps 从 2009 年到 2017 年的发展历程,其定义和目标在不断演进:
- 2009年: DevOps 被视为一组过程、方法与系统的统称,旨在促进开发(Dev)、技术运营(Ops)和质量保证(QA)部门之间的沟通、协作与整合。
- 2011年: 核心目标转变为快速响应业务和客户需求,通过改善 IT 各部门沟通来加速软件产品和服务的交付。
- 2015年: 强调沟通、协作、集成、自动化和度量。通过自动化软件交付和基础设施变更,建立一种能够快速、频繁、可靠发布软件的文化和环境。
- 2016年: 目标进一步提升为建立流水线式的准时制(JIT)业务流程,以实现最大化业务成果,如增加销售、提高利润率、加快业务速度和降低运营成本。
- 2017年: 定义为一种软件工程实践,旨在统一软件开发(Dev)和软件运维(Ops),并与业务目标紧密结合。它大力提倡在软件构建、集成、测试、发布、部署及基础设施管理中实现自动化和监控,以缩短开发周期、增加部署频率、实现更可靠的发布。
DevOps 的定义
具体来说,DevOps 是敏捷研发中持续构建(CB)、持续集成(CI)、持续交付(CD)的自然延伸。它不仅打通了研发内部的“需求、开发、测试”等环节,还进一步打通了“研发”与“运维”的壁垒。
DevOps 可以被看作是一种模式、一种工具、一种平台、一种实践、一种文化、一种思想或价值观。从不同角度描绘,其核心在于:通过 IT 工具链及其背后的自动化流程,使软件的构建、测试和发布更加快捷、可靠。
DevOps 的特征
DevOps 特别适用于“软件即服务(SaaS)”或“平台即服务(PaaS)”等应用领域,其显著特征包括:
- 打通角色壁垒: 贯通用户、PMO、需求、设计、开发(Dev)、测试(QA)、运维(Ops)等各上下游部门或不同角色。
- 整合工具链: 集成业务、架构、代码、测试、部署、监控、安全、性能等各领域的工具链。
核心工具链
持续集成(CI)基本工具链

持续部署(CD)基本工具链

自助式 DevOps 工具版图
一个全面的自助式 DevOps 平台通常覆盖以下 14 个方面:
- 编码版本控制:维护和控制源代码库中的变更。
- 协作开发
- 构建:版本控制、代码合并、构建状态。
- 持续集成
- 测试:自动化测试及测试报告。
- 打包:二进制仓库、Docker 镜像仓库。
- 部署工具
- 容器:轻量级的虚拟化组件,以隔离的方式运行应用负载。它们拥有自己的进程、文件系统和网络栈,这些资源由宿主操作系统虚拟化。
- 发布:变更管理、自动发布。
- 编排:在微服务、SOA、融合式基础设施、虚拟化和资源准备等场景下,计算系统之间的协作和集成。通过自动化工作流,确保业务需求与基础设施资源相匹配。
- 配置管理:基础设施配置和管理,维护软硬件的最新详细记录,包括版本、需求、网络地址、设计和运维信息。
- 监视:性能监视、用户行为反馈。
- 警告 & 分析工具
- 维护工具

全开源 DevOps 平台示例
以下是一些基于开源工具构建的 DevOps 平台示例。


