DevOps

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

瀑布模式 -> 敏捷模式 -> DevOps模式

20221123859DevOps知识图谱

DevOps 的价值:

  1. 改善企业的软件交付过程,实现高质量和高效率的交付
  2. 改善企业内部的工程师文化,激发活力与创造

人、流程、平台

软件开发的困难

软件发展的三个阶段

个体软件过程(PSP)

典型的用户期望

质量策略

基本流程

基本原理

过程度量

为什么要度量

体现决策者对要实现目标的关切程度高质量的开发是计划出来的

质量路径

评审手段消除缺陷比测试消除效率更高

有效的评审

敏捷软件开发

精益思想

DevOps成熟度模型

软件架构演化

单体架构

全部功能被集成在一起作为一个单一的单元

分层架构

每一层有特定的职责,上层只能直接访问下层

面向服务架构

消息总线与服务编排引擎

微服务架构

围绕业务能力构建的可独立开发部署的小型单元,使用远程调用进行通信

挑战:

XaaS

什么 即 服务

SaaS 中心化的软件的分发方式,通过网络使用软件IaaS 虚拟化硬件资源给用户PaaS 提供给开发者使用

批注 2020-05-08 195722

IT服务标准

工具链

持续交付

批注 2020-05-08 202538

团队拓扑

  1. 业务流团队(Stream-aligned Team) 工作可能是一个产品或服务,也可能是一组特性、一个用户旅程或一个用户画像
  2. 赋能团队(Enabling Team) 由特定技术领域或产品领域的专家组成,对于技术问题开展调研,尝试不同的方案,寻找最佳实践
  3. 复杂子系统团队(Complicated-Subsystem Team) 业务逻辑十分复杂或者需要十分专业的领域知识,由该领域的专家组成一个固定的团队,来维护这个复杂的模块
  4. 平台团队(Platform Team)负责解决底层问题,让业务流团队可以更专注于业务开发

团队交互模式

  1. 协作(Collaboration)是指一个团队与另一个团队紧密合作
  2. 服务(X-as-a-Service)是指使用或提供某种服务,而尽量减少协作
  3. 促进(Facilitating)是指帮助其他团队清除障碍,赋能团队主要干的

GitOps

DevOps 文化中的工程实践

FinOps

Finance + DevOps,FinOps 是一种文化实践,它为企业组织提供了一种管理云成本的理论和方法

FinOps 框架