DevOps
时间:2023-09-28 来源:
培训对象:希望开发-运维持续优化的团队
学员基础:具有持续集成开发与自动化运维基础
课程概要
课程全面的介绍 DevOps 的全周期体系实践、并针对工具实践进行落地,最后介绍如何根据服务管理需求、持续集成架构、搭建企业级 DevOps 服务管理平台。
(可根据课前了解的情况进一步交流调整安排)
培训目标
基于DevOps的开发-集成-测试-交付-监控体系框架构建DevOps体系框架
建立DevOps过程框架
建立DevOps组织结构
建立DevOps工作文化
DevOps 全周期工程实践:方法、工具与案例
DevOps 实践之~代码管理
DevOps 实践之~持续集成
DevOps 实践之~自动化测试
DevOps 实践之~持续部署和发布
DevOps 实践之~自动化运维、基础设施和环境管理
基于微服务架构,构建企业级DevOps平台,提高响应能力与可用性
企业级DevOps平台概览
企业级DevOps案例
DevOps概览 | |
基于DevOps的开发-集成-测试-交付-监控体系框架 | 传统的升发到运维的工作流程 |
传统软件交付模式及问题 | |
DevOps工作流程 | |
DevOps工具链概览 | |
大型互联网企业 DevOps实施案例剖析 | |
DevOps中的开发-持续集成-测试-部署-上线-运维监控全周期流程 | |
DevOps和 IT服务管理的关系 | |
DevOps和云计算的关系 | |
DevOps和微服务的关系 | |
构建DevOps体系框架 | |
建立DevOps过程框架 | DevOps全周期流程都有什么 |
DevOps和各种过程框架对比: | |
瀑布模型 | |
敏捷开发过程 | |
DevOps关键过程: | |
源代码管理 | |
持续集成 | |
自动化测试 | |
持续部署 | |
自动化运维 | |
某知名互联网企业的 DevOps过程框架 | |
DevOps成熟度模型的五级的各个级别的能力要求: | |
1、原始阶段 | |
2、基础阶段 | |
3、可持续阶段 | |
4、成熟阶段 | |
5、优化阶段 | |
结合实际案例介绍:如何从现有过程过渡到 DevOps过程 | |
过程诊断 | |
过程改进 | |
过程验证与优化 | |
建立DevOps组织结构 | DevOps典型组织结构模式 |
由高层领导牵头,CTO,RD,TEST,OPS | |
形成跨部门 DevOps工作小组,RD到OPS的Gap | |
DevOps中的各种角色和责任 | |
变革的领导者 | |
工程教练专家 | |
全栈工程师 | |
跨职能团队 | |
DevOps的人员能力要求和培养方法 | |
建立DevOps工作文化 | 树立团队共同的价值观 |
DevOps的团队的工作协同与沟通文化 | |
自学习能力和自组织能力 | |
精益思想和敏捷工作方式 | |
如何让DevOps的工作文化落地生根 | |
DevOps全周期工程实践:方法、工具与案例 | |
DevOps实践之~代码管理 | DevOps的代码管理的观点与方法实践对代码的版本进行划分、标识与控制、依赖关系管理;描述程序之间的依赖关系,变更影响分析,关系的维护代码库的配置管理:版本库,工作库,产品库 |
环境管理有哪些内容 | |
如何把环境和程序一起打包 | |
环境的变更维护 | |
l 团队分支策略 | |
l Release/Tag的管理策略 | |
l Code Review模式 | |
l 利用Jenkins/ Gitlab/Docker构建持续集成平台 | |
l 测试金子塔 | |
l 常用测试工具与框架 | |
DevOps的代码管理最佳实践: | |
如何根据团队工作协同需要建立分支与合并 | |
主干开发的策略和库管理 | |
按发布创建分支策略和库管理 | |
按功能特性分支和版本管理 | |
按团队分支策略和版本管理 | |
DevOps代码管理工具的搭建与流水线作业 | |
基于Git/Gitlab | |
定义用户端和服务端功能和配置 | |
支持协同开发和工作空间同步 | |
代码质量检查工具与配置:Gerrit,CppLint,CheckStyle | |
实践案例与演示:代码分支、开发、合并与变更管理 | |
DevOps实践之~持续集成 | 持续集成体系 |
为什么持续集成 | |
持续集成有哪些内容 | |
持续集成的开发模式路线图 | |
持续集成流程 | |
从开发到构建、集成、测试的流程 | |
持续集成平台的构建与工具插件的引入 | |
基于Jenkins建立持续集成工作平台: | |
构建管理工具-Maven | |
单元测试工具-Junit | |
自动化测试工具 | |
持续集成最佳实践 | |
集成的粒度 | |
集成的时机 | |
集成的问题处理 | |
实践案例与演示:持续集成流水线的设计、执行与报告 | |
DevOps实践之~自动化测试 | DevOps的自动化测试关注点DevOps的自动化测试工作流程图 |
自动化测试框架:RobotFramework | |
自动化测试工具:QTP,Selenium,Appium,UIAutomator | |
性能自动化测试:LoadRunner或JMeter | |
接口自动化测试:SoapUI,JMeter | |
持续集成平台 Jenkins的集成自动化测试工具 | |
配置各种自动化测试的插件接口 | |
自动化测试工作流的配置 | |
自动化测试结果数据的采集配置 | |
定制自动化测试 KanBan与结果视图 | |
实践案例与演示:自动化测试流水线的设计、执行与报告 | |
DevOps实践之~持续部署和发布 | DevOps部署流水线介绍部署流水线相关实践 |
创建发布策略 | |
部署的流程 | |
部署的内容 | |
部署的环境 | |
部署前的准备 | |
建立部署的标准 | |
如何提交待部署工件 | |
如何实现一个部署流水线、环境与工具 | |
规划部署服务器与部署通道路径图 | |
建立运行容器:Docker与 K8S | |
选择部署工具:Puppet,ansible,chef,saltstack | |
部署的变更管理与更新方法与工具 | |
部署的最佳实践 | |
部署回滚和零停机发布 | |
版本回滚 | |
零停机发布 | |
蓝绿部署 | |
金丝雀发布 | |
紧急修复 | |
紧急修复的常见场景 | |
紧急修复的工作原则 | |
如何保持最小影响 | |
进阶到持续部署的工作流程和工具 | |
持续部署的流程 | |
持续部署需要的工具环境 | |
持续部署的更新问题处理 | |
实践案例与演示:持续部署流水线、工具与交付物 | |
DevOps实践之~自动化运维、基础设施和环境管理 | DevOps的自动化运维的理念与范围 |
运维工作体系参考框架 | |
运维管理哪些内容 | |
运维团队的角色与分工 | |
如何实现运维标准化 | |
哪些可以进行运维自动化 | |
传统的运维管理都有哪些内容: | |
服务器管理 | |
中间件管理 | |
数据库管理 | |
网络管理 | |
基础设施与主机环境管理 | |
云计算时代的运维环境变化: | |
虚拟化的需要和带来的挑战 | |
基础设施和应用程序监控 | |
监控的自动化采集问题监控的显示面板 | |
如何在分布式系统中快速定位问题 | |
如何执行分布式监控任务 | |
基于微服务架构,构建企业级DevOps平台,提高响应能力与可用性 | |
企业级DevOps平台概览 | 什么是企业级 DevOps平台 |
微服务架构与服务管理平台 | |
企业级DevOps平台的现状与发展趋势 | |
企业服务管理和监控概览 | |
企业级 DevOps案例 | 企业工具集云平台管理的内容有哪些 |
云平台的功能有哪些 | |
可选的的云平台方案介绍 | |
企业持续交付平台 | |
持续交付平台的功能 | |
持续交付平台的技术架构 | |
持续交付平台选型和构建 |