DevOps平台与实践PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发流水线: 能最快的将代码 变更体现到开发联调环境上
测试流水线: 多轮迭代,冒烟 准入,确认可进入发布流水线
发布流水线: 多环境确认,推 上生产,需要必要的审核
20
构建
开发环 境部署
单元 测试
代码 扫描
介质 上传
验证
构建
单元 测试
代码 扫描
介质 上传
A环境 部署
验证
…...
B环境 部署
验证
申请 发布
Web应用
移动应用
React风格
独立进程应用
应用生命周期管理
BPM PaaS
流程梳理
流程编排
业务活动监控 通讯使能BPM
移动BPM
社交BPM
Integration PaaS
API网关 服务总线
作业调度 事件总线
BigData PaaS
分布式数据处理 复杂事件处理
数据质量
元数据
数据展现
数据应用
DevOps 身份认证
打造卓越的IT生产线
DevOps平台与实践
平台 · 让创新无限
平台 业DevOps建设思路 DevOps平台实践 案例分享
2
建立卓越『IT生产线』
需求(产品)
交付
配置(变更)
业务
研发
运维
问题
质量
支撑保障
安全
3
基础设 施
(1)DevOps平台 - 流程梳理与交付自动的迭代过程
介质包仓库
元 数
基础服务 服务配置
据
服务性能监控
项目管理 部署包仓库
软件产品管理 版本控制系统
软件发布管理 持续集成
服务路由 负载
服务发现 消息中心
服务注册 对象存储
服务容器 Web容器
软件环境管理 质量基线反馈
知识库 统一监控中心
自部署
日志
监
关系数据库
Redis缓存
控
资源适配
基础设施
计8算
配额管理 网络
配置 可优化
学习型
Ops
编译 成熟度
横向集成
D架e构v(OAp)s横向集成:实现敏捷团队内不同角色的紧密协同
DevOp技架s术 构纵向集成容:器打云 通研发工虚具传拟链统化,建立部署服工流务具与水线,自动化应 架完用构 成不同环境微的服务部署,实现应用程元数序据的驱持动续交付
4
(2)自动化测试平台 - 行为驱动开发的最佳实践
环境管理
存储
文件
资源监控 容器
镜像
资源编排 仓库
目录
工程效率平台总览 企业DevOps建设思路 DevOps平台实践 案例分享
9
理清 『微服务』『容器』『DevOps 』 的关系
“散”“裸” 微 服 务
“工程化”“可用”
容 器 技 术
10
DevOps
误区<1>: 一味的强调敏捷,往往忽略了企业级交付
16
假设再引入了微服务?
1. API版本 2. …...
示例: 版本号维度的发布展现
1、产品规划版本 1.0
2、产品修订版本 3、产品发布版本 4、内部组件版本
17
示例: 代码库如何使用与构建
C commit B branch R release M merge CP cherry-pick
TBD
计划
启动
分析 设计
分析 设计
开发 Sprint1
测试 发布
开发 测试 发布
11
分析 设计
开发 Sprint2
测试 发布
…...
敏捷版本火车 项目群 产品管理
误区<2>:做DevOps,是不是就是工具链的集成?
12
那DevOps需求是什么?
数据打通,基于度量引领优化
新特性是否知道运行在哪些机器上? 功能是否知道有多少人花了多少代码完成的? 设计的架构和实际部署的架构是有有偏离? 代码库与介质库、组件与介质库的元信息关联? 项目风险到底是什么造成的?管理能否前移?
修订号:一般引入第3位, 如1.0.1,代表第一次修订
构建号:一般引入第4位
1. 有体现在jar包名称上 2. 有体现在manifest文件中
代码版本(POM)
1. snapshot 1.0.0-snapshot 2. release 1.0.0
发布版本
1. 往往与修订版本一致 2. 也有独立声明的
C
C
C
R
B
CP
C
C
C
C
R B
C
C
GitHub
CC
CC
B
M
B
M
R
R
Git
18
hotfix release feature develop master
多个 C B
B
CR
与release分支使用方式类似
Tag
核心建设思路<2>
DevOps平台,重在让所有角色在流水线上协作, 共同驱动过程的精益
19
示例: 不同阶段的流水线
审批
生产 发布
部署
验证
切换 流量
示例: 从流水线上看过程
21
关键一: 环节必选与可选 关键二: 自动与人工配合 关键三: 主数据,buildNumber 关键四: 参与者权限
用户
业务(B)
敏捷
PM QA
用户 面向版本火车故的事价值流交付
开发、运维、安缺全陷、质量、精益
Dev
流水线
开发流水线
流程(P)
测试 用例
集测流水线
交付流水线
组织(O)
可视化协作
纵向集成
精益看板
部署
故事地图 (Prod)
阶段 定义
计划
构建
测试
部署
…
部署
原(St则age)
测试 可管理 (Test)
部署 可审计 (Test)
13
面向版本火车的DevOps建设
产品
策划
1
DevOps,面向项目群(版本火车)
研发
运营
退出
*
项目
立项
执行
完工
产生事件
处理
总结
定义
设计
构建
测试
部署
敏捷 14 持续交付
持续集成 持续部署
核心建设思路<1>
DevOps平台更重要的是提供最佳实践
15
示例: 版本号的管理与关联
产品版本:1.0 版本别名:shark
以BDD(行为驱动开发)方法为主导思想,提供完整测试工具集合,建立拉动式的自动化测试平台
自动化测试管理视图
测试过程规范管理
测试度量分析
测试评审
测试环境管理
测试资源管理
测试工具管理
测试报告管理
测试需求管理
测试用例管理
Bug管理
过
程
优
化
自动化测试技术视图
监
度
督
技
量
控
术
制
支
撑
分 析
接口自动化 测试
功能自动化 测试
6
(6)微服务平台 - 分布与聚合的完整方案
应用/渠道分布 服务分布
数据分布 感知分布
7
架构分布 体验聚合
客户体验聚合 开发体验聚合 交付体验聚合
运维体验聚合
数字化企业云平台
业务 中台
客户行为信息 设备数据 业务控制数据 业务集成框架
业务 后台
身份认证
租户管理 客户管理
多维组织模型
Application PaaS
性能自动化 测试
安全性自动化测 试
健壮性自动化测 试
性能压测实验室
5
移动端自动化测试实验室
(5)容器云平台 - 用基础能力屏蔽基础设施的过程
Any app
• 14K apps • 6K projects
API
Engine
Hub
API
Any infrastructure
• Physical • Virtual cloud
测试流水线: 多轮迭代,冒烟 准入,确认可进入发布流水线
发布流水线: 多环境确认,推 上生产,需要必要的审核
20
构建
开发环 境部署
单元 测试
代码 扫描
介质 上传
验证
构建
单元 测试
代码 扫描
介质 上传
A环境 部署
验证
…...
B环境 部署
验证
申请 发布
Web应用
移动应用
React风格
独立进程应用
应用生命周期管理
BPM PaaS
流程梳理
流程编排
业务活动监控 通讯使能BPM
移动BPM
社交BPM
Integration PaaS
API网关 服务总线
作业调度 事件总线
BigData PaaS
分布式数据处理 复杂事件处理
数据质量
元数据
数据展现
数据应用
DevOps 身份认证
打造卓越的IT生产线
DevOps平台与实践
平台 · 让创新无限
平台 业DevOps建设思路 DevOps平台实践 案例分享
2
建立卓越『IT生产线』
需求(产品)
交付
配置(变更)
业务
研发
运维
问题
质量
支撑保障
安全
3
基础设 施
(1)DevOps平台 - 流程梳理与交付自动的迭代过程
介质包仓库
元 数
基础服务 服务配置
据
服务性能监控
项目管理 部署包仓库
软件产品管理 版本控制系统
软件发布管理 持续集成
服务路由 负载
服务发现 消息中心
服务注册 对象存储
服务容器 Web容器
软件环境管理 质量基线反馈
知识库 统一监控中心
自部署
日志
监
关系数据库
Redis缓存
控
资源适配
基础设施
计8算
配额管理 网络
配置 可优化
学习型
Ops
编译 成熟度
横向集成
D架e构v(OAp)s横向集成:实现敏捷团队内不同角色的紧密协同
DevOp技架s术 构纵向集成容:器打云 通研发工虚具传拟链统化,建立部署服工流务具与水线,自动化应 架完用构 成不同环境微的服务部署,实现应用程元数序据的驱持动续交付
4
(2)自动化测试平台 - 行为驱动开发的最佳实践
环境管理
存储
文件
资源监控 容器
镜像
资源编排 仓库
目录
工程效率平台总览 企业DevOps建设思路 DevOps平台实践 案例分享
9
理清 『微服务』『容器』『DevOps 』 的关系
“散”“裸” 微 服 务
“工程化”“可用”
容 器 技 术
10
DevOps
误区<1>: 一味的强调敏捷,往往忽略了企业级交付
16
假设再引入了微服务?
1. API版本 2. …...
示例: 版本号维度的发布展现
1、产品规划版本 1.0
2、产品修订版本 3、产品发布版本 4、内部组件版本
17
示例: 代码库如何使用与构建
C commit B branch R release M merge CP cherry-pick
TBD
计划
启动
分析 设计
分析 设计
开发 Sprint1
测试 发布
开发 测试 发布
11
分析 设计
开发 Sprint2
测试 发布
…...
敏捷版本火车 项目群 产品管理
误区<2>:做DevOps,是不是就是工具链的集成?
12
那DevOps需求是什么?
数据打通,基于度量引领优化
新特性是否知道运行在哪些机器上? 功能是否知道有多少人花了多少代码完成的? 设计的架构和实际部署的架构是有有偏离? 代码库与介质库、组件与介质库的元信息关联? 项目风险到底是什么造成的?管理能否前移?
修订号:一般引入第3位, 如1.0.1,代表第一次修订
构建号:一般引入第4位
1. 有体现在jar包名称上 2. 有体现在manifest文件中
代码版本(POM)
1. snapshot 1.0.0-snapshot 2. release 1.0.0
发布版本
1. 往往与修订版本一致 2. 也有独立声明的
C
C
C
R
B
CP
C
C
C
C
R B
C
C
GitHub
CC
CC
B
M
B
M
R
R
Git
18
hotfix release feature develop master
多个 C B
B
CR
与release分支使用方式类似
Tag
核心建设思路<2>
DevOps平台,重在让所有角色在流水线上协作, 共同驱动过程的精益
19
示例: 不同阶段的流水线
审批
生产 发布
部署
验证
切换 流量
示例: 从流水线上看过程
21
关键一: 环节必选与可选 关键二: 自动与人工配合 关键三: 主数据,buildNumber 关键四: 参与者权限
用户
业务(B)
敏捷
PM QA
用户 面向版本火车故的事价值流交付
开发、运维、安缺全陷、质量、精益
Dev
流水线
开发流水线
流程(P)
测试 用例
集测流水线
交付流水线
组织(O)
可视化协作
纵向集成
精益看板
部署
故事地图 (Prod)
阶段 定义
计划
构建
测试
部署
…
部署
原(St则age)
测试 可管理 (Test)
部署 可审计 (Test)
13
面向版本火车的DevOps建设
产品
策划
1
DevOps,面向项目群(版本火车)
研发
运营
退出
*
项目
立项
执行
完工
产生事件
处理
总结
定义
设计
构建
测试
部署
敏捷 14 持续交付
持续集成 持续部署
核心建设思路<1>
DevOps平台更重要的是提供最佳实践
15
示例: 版本号的管理与关联
产品版本:1.0 版本别名:shark
以BDD(行为驱动开发)方法为主导思想,提供完整测试工具集合,建立拉动式的自动化测试平台
自动化测试管理视图
测试过程规范管理
测试度量分析
测试评审
测试环境管理
测试资源管理
测试工具管理
测试报告管理
测试需求管理
测试用例管理
Bug管理
过
程
优
化
自动化测试技术视图
监
度
督
技
量
控
术
制
支
撑
分 析
接口自动化 测试
功能自动化 测试
6
(6)微服务平台 - 分布与聚合的完整方案
应用/渠道分布 服务分布
数据分布 感知分布
7
架构分布 体验聚合
客户体验聚合 开发体验聚合 交付体验聚合
运维体验聚合
数字化企业云平台
业务 中台
客户行为信息 设备数据 业务控制数据 业务集成框架
业务 后台
身份认证
租户管理 客户管理
多维组织模型
Application PaaS
性能自动化 测试
安全性自动化测 试
健壮性自动化测 试
性能压测实验室
5
移动端自动化测试实验室
(5)容器云平台 - 用基础能力屏蔽基础设施的过程
Any app
• 14K apps • 6K projects
API
Engine
Hub
API
Any infrastructure
• Physical • Virtual cloud