DevOps - DevOps基础概念梳理

目录

DevOps

DevOps(Development+Operations)强调共同对业务目标负责,以实现用户价值作为唯一的评判标准:保证产品功能及时实现、成功部署和稳定使用;

  • 是一种重视软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例,改善团队之间的协作关系;
  • 是一组过程、方法与系统的统称,但其实包含了三个部分:开发、测试和运维;
  • 用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合;
  • 透过自动化“软件交付”和“架构变更”的流程,使得构建、测试、发布软件能够更加地快捷、频繁和可靠,按时交付软件产品和服务;

 

总的说来:

  • DevOps 是把人员流程、产品进行结合,给用户提供持续价格的一个过程,这个过程既涉及到人员、过程,也涉及到产品。
  • DevOps 最终目的是给客户提供持续交付的价值,流程包括:产品的规划跟踪、软件开发、构建测试、产品部署、运维、监控和优化,并通过一个流水线的方式串联起来。
  • 通常把 DevOps 这些流程合并起来称为一个 DevOps 的流水线,其核心目标就是持续给用户交付有价值的产品。

DevOps的好处与价值

对于业务与产品而言,DevOps的好处更多基于持续部署与交付。
从组织结构而言,DevOps是部门间沟通协作的一组流程和方法,有助于改善公司组织文化、提高员工的参与感。

  • 代码的提交直接触发:消除等待时间,快速反馈
  • 每个变化对应一个交付管道:使问题定位和调试变得简单
  • 全开发流程高效自动化:稳定,快速,交付结果可预测
  • 持续进行自动化回归测试:提升交付质量
  • 设施共享并按需提供:资源利用最大化

可能的几个关注点

  • 组织文化上的变革;
  • 合适的DevOps人员(最起码保证在“向DevOps转换阶段”中,研发人员知晓运维,运维人员了解业务);
  • 开发/测试环境尽可能地和生产环境保持一致;
  • 涉及多个技术支撑:敏捷开发、持续集成&部署、微服务、容器、云环境等;
  • 个体和团队的成效都放在整个产品开发&运维生命周期内来进行评价;

DevOps能力环

DevOps 的应用

DevOps与持续集成、持续交付

DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。
DevOps的技术要点由“持续集成/部署“”一线贯穿,主干开发是进行持续集成的前提,自动化以及代码周边集中管理是实施持续集成的必要条件。
换而言之,DevOps 是持续集成思想的延伸,持续集成/部署是 DevOps 的技术核心,在没有自动化测试、持续集成/部署之下,DevOps就是空中楼阁。

典型的DevOps流水线过程

  1. 项目开发编写代码,然后把代码推送到 GitLab 里存储,通过 GitLab 的 hook 使 Jenkins 执行一些 CI 的过程,比如做一些单元测试,构建 Docker image
  2. 再把这个 Docker image 调用 helm 部署到开发环境或测试环境
  3. 在测试环境里通过 Jenkins 触发一个集成测试的功能
  4. 完成后就可以把它部署到生产环境
  5. 通过 Kubernetes addon 的方式,把 Prometheus、Grafana 等监控组件部署到集群里,实现一整套从 CI 到 CD 的监控过程

DevOps黄金思维圈

Why---》How---》What

Why(目的、理念)

持续且快速、可靠的自动交付软件给用户:

  1. 实现价值的持续交付,赢得市场竞争
  2. 提升研发(增值活动)的时间,极大化增值活动产出

How(方法、措施)

  • 建设自动化、可重复、可靠的持续交付流水线(IT服务供应链)
  • 主要包括代码管理、持续集成、自动化测试、自动化部署、基础设施自动化管理等方面的工程能力

What(现象、成果)

  1. 每次代码提交都需要经过流水线验证
  2. 每次部署的版本都经过多环境验证
  3. 部署频率可以得到提升
  4. 周期时间(从代码提交到部署上线)的时间可以到分钟级
  5. 部署失败率低
  6. 部署失败的修复时间短,影响小

初见

一些图示

关系与演进

DevOps 的应用

涉及的工具

DevOps的目标不是单靠一款工具就能实现的。
在各个阶段,每个都有其单独对应的目标。
依赖于组织的选择,有着各种各样的工具可以实现目标。

 


Action is the antidote to despair!

欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少部分内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!

相关文章:

  • 2022-12-23
  • 2021-09-27
  • 2021-07-24
  • 2021-07-12
  • 2022-12-23
  • 2021-08-06
  • 2021-10-24
  • 2021-06-30
猜你喜欢
  • 2021-06-20
  • 2021-06-05
  • 2022-03-09
  • 2021-11-01
  • 2021-08-11
  • 2022-12-23
  • 2021-10-05
相关资源
相似解决方案