Skip to content
标签
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)基本工具链

CI

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

CD

自助式 DevOps 工具版图

一个全面的自助式 DevOps 平台通常覆盖以下 14 个方面:

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

自助式 DevOps 工具链

全开源 DevOps 平台示例

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

开源 DevOps 平台示例 1

开源 DevOps 平台示例 2

开源 DevOps 平台示例 3


转载

整理了一份史上最全的DevOps 工具链

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写