七、持续运维与监控(17%)
- 运维演进的三个阶段
- 第一阶段:黑屏,人工运维。依赖,人力,效率低
- 第二阶段:白屏,自动化运维,把脚本变工具,
- 第三阶段:智能化运维。AIOps是一个趋势,通过少量人机交互,通过自驱动的方式实现。
- 传统运维和云上运维的区别
- 传统
- 基础运维工作量大
- 用户需要部署各种运维工具
- 难以进行基础设施弹性扩缩容
- 人工操作比较多
- 云化运维
- 注重应用运维(业务)
- 运维工具普遍服务化、集成化
- 弹性、敏捷
- 自动化运维
- 传统
- DevOps下的运维
- DevOps下的运维系统特点
- 高可用:高可用是运维系统的基础。
- 高成功率
- 高效率
- 可回滚
- 自动化运维
- 应用管理
- DevOps运维目标
- 保障系统的稳定运行,达成服务的质量目标。
- 运维职责,可用性改进
- 延迟优化
- 性能优化
- 效率优化
- 变更管理
- 监控
- 紧急事务处理
- 容量规划与管理
- DevOps下的运维系统特点
- 监控平台-监控的目的
- 根据历史监控数据,做出预测
- 发生异常,及时报警,做出相应措施
- 根据监控报警及时定位问题根源
- 通过可视化图表展示,便于直观获取信息
- 监控平台
- 一个完整的监控平台至少需要两个部分:监控和告警。
- 获取监控项,比如进程的CPU内存,节点的磁盘使用状态
- 针对每种指标设置告警,一旦指标异常,告知运维及时修复。
- 监控指标
- 监控指标范围要求:覆盖主机,应用多个维度
- 主机监控指标
- 网络:网络流速、数据包个数、错误包个数
- 磁盘:磁盘读写速率、磁盘读写状态、可用磁盘空间、
- 显卡:显存容量、显存使用率、GPU使用率
- 主机系统:CPU内核总量、CPU使用率、可用虚拟内存,NTP服务器状态
- 应用监控指标
- 进程:CPU内核总量,CPU内核占用,CPU使用率、句柄数、物理内存总量、物理内存使用率、进程状态、虚拟内存总量
- 监控指标周期要求:一般以1分钟为监控周期,重要的指标需要做到秒级监控,例如1s/5s一个采样点
- 传统运维工具
- 日志工具
- kibana:免费且开放的用户界面,数据可视化。
- logstash:免费且开放的服务器端数据处理管道,能从多个来源采集数据、转换数据,然后将数据发送到存储库中
- elastic:开源的搜索解决方案
- 监控工具
- ZABBIX:适用于任何IT基础架构、服务、应用程序和资源的监控解决方案。
- Grafana:跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化并通知
- Prometheus:开源监控告警解决方案
- 调用链追踪工具
- zipkin:开放源代码分布式的跟踪系统
- Bucky:
- pinpoint :java编写的APM应用性能管理工具,用于大规模分布式系统
- 日志工具
- 主机监控工具 - Zabbix
- Zabbix是一款常用的监控工具,可以提供监控数据采集
- Zabbix指标采集流程:采集器agentd需要安装到被监控的主机上,负责定期收集各项数据,并发送到Zabbix serever端,Zabbix server将数据存储到数据库中,Zabbix web根据数据在前端进行展现和绘图
- 监控平台 - Prometheus
- Prometheus是一套开源的监控&报警&时间序列数据库的组合,是由SoundCloud公司开发的。
- 现在最常见的k8s容器管理系统中,通常会搭配Prometheus进行监控
- Prometheus非常适合监控k8s
- Prometheus 可以很好的监控容器(docker)相关指标
- 特点
- 时间数据库存储监控数据能够存储更大量的数据,不依赖于其他存储系统,安装简单
- 灵活的查询语言(promQL)
- 通过基于HTTP的pull方式采集时序数据,可以通过push gateway 进行时序列数据数据推送
- 多种可视化和仪表盘支持
- 架构
- Prometheus server由三部分组成
- Retrieval: 负责定时去指定的API抓取采样指标数据。
- Storage:负责将采样数据高效安全地持续化存储要磁盘中
- PromQL:负责提供查询
- Prometheus server由三部分组成
- Prometheus serve端会存储所有数据,并对这些数据进行分析,基于规则进行报警
- Prometheus 利用自身的时序数据库,有着非常高效的存储
- Alertmanager是独立于Prometheus之外的一个组件,提供十分灵活的报警方式。
- Prometheus 支持通过配置文件、文本文件、Zookeeper、Consul、DNS SRV lookup等方式指定抓取目标。
- Prometheus作为监控指标处理中心,对接Grafana进行指标展示
- Prometheus+Grafana是一对完美的组合,把它们集成起来非常简单
日志
- 日志
- 网络设备、系统及服务程序等,在运作时都会产生一个叫log的事记录,
- 每一行日志都记载着日期、时间、使用者及动作等相关操作的描述。
- 日志使用场景
- 运维
- 审计
- 运营
- Nginx
- Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器,为WEB服务器提供负载均衡,应对海量客户端并发访问的压力
- Nginx日志分为两种
- access_log(访问日志):可以得到用户的IP地址、浏览器的信息,请求处理时间等。
- error_log(错误日志):记录了访问出错的信息,帮助定位错误原因。
- Linux系统日志介绍
- 常用系统日志类型
- 整体系统信息
- 启动日志
- 登陆失败日志
- cron计划日志
- 安全日志
- 通常定位应用问题时,如果发现应用运行日志没有发现异常,就会排查操作系统日志,查看问题发生时是否环境有问题。
- 常用系统日志类型
- MySQL日志(binlog)
- binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息。
- binlog不会记录对库表的查询记录
- binlog的作用
- 恢复:恢复误删
- 复制:主从数据同步
- 审计:追踪数据库历史操作记录
- 容器日志
- k8s日志收集:
- 应用(Pod)级别
- 节点级日志记录
- 集群级日志
- Docker日志
- 容器引擎日志一般都交给了系统日志,不同的操作系统会放在不同的位置
- 容器日志可以理解是运行在容器内部的应用输出日志。默认情况,docker logs显示当前运行的容器日志信息,内容包含STOUT(标准输出) 和STDERR(标准错误输出)
- k8s日志收集:
- 业务运行日志
- 运行日志内容包括:运行时间+模块名+线程号+级别+类名/方法名+执行结果(返回值)
- 运行日志的作用:问题分析和业务分析(了解业务执行情况)
- 开源日志系统ELK三剑客
- logstash 接入
- elasticearch 计算存储
- kibana 数据呈现
- 操作日志
- 操作日志:按照操作的触发者可以分为用户操作日志和系统操作日志。
- 用户日志:跟踪用户(最终用户,系统管理员、操作维护员和系统监控员等)的业务相关操作的记录。
- 系统日志:对系统定时任务执行或者事件触发的操作记录。
- 操作日志和运行日志的区别
- 操作日志记录用户通过客户端或API访问业务系统时,记录的业务操作行为。用于后续审计或问题分析。
- 运行日志主要是用于记录系统内部函数的运行结果和调用关系等,通常用于问题分析。
- 操作日志有严格的输出规范要求,如时间、用户名、操作类型、操作结果等。
- 运行日志没有严格的输出规范,输出的内容也很灵活。
性能管理
- APM
- Application Performance Management,是指对应用程序的性能和可用性的监控管理。
- 主要针对企业关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量。
- 常见的应用性能监控挂你包括
- 应用的接口性能
- 错误监控
- 分布式调用链路跟踪
- 其他各类用于诊断的监控信息。
- 主流APM产品
- zipkin:开源,调用链分析工具,轻量级,部署简单
- pinpoint:专注于链路和性能监控,韩国研发团队开发,埋点无侵入,UI功能较强。目前仍然在更新
- SkyWalking:专注于链路和性能监,国产,埋点无侵入,UI功能较强。版本更新快
- CAT:更综合性的平台,提供的监控功能最全面,但研发进度及版本更新相对较慢。
微服务治理
- 微服务治理的能力列表
- 服务发现
- 服务治理领域中最重要的问题是服务发现和注册
- 在微服务架构中,服务发现作为一种基本机制,必须得到实现。而服务目录则是一个可选项。
- 负载均衡
- 在分布式系统中,负载均衡(load balancing)是一种将任务均匀分派到多个服务端进程的方法,保证了分布式服务器中,不会有某一个服务器负载过高。
- 应用在执行某个业务时,会访问多个服务去收集信息,此时客户端可以通过负载均衡去访问各个服务。
- 负载均衡的使用场景
- 应用于高访问量的业务
- 横向扩张系统
- 消除单点故障
- 同城容灾(多可用区容灾)
- 跨地域容灾
- 灰度发布
- 概念:为保障新特性平稳上线,选择少部分用户试用,降低发布风险
- 更安全的发布方式,让业务上线不仅仅是快。
- ServiceComb微服务支持两种灰度策略
- 流量权重
- 自定义参数:根据接口参数进行灰度导流
- 服务限流
- 限流:在流量高峰期,可以根据消费者优先级,适当调整流量限制,保证生产者不被流量击垮。
- 限流是为了改变网络流量所经过的途径而修改路由信息的技术。
- 目的:通过并发访问/请求进行限速或者一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向错误资源)、排队或等待(比如秒杀、评论、下单)、降级(返回兜底数据或默认数据)。
- 常见的限流策略有:
- 限制总并发数
- 限制瞬时并发数
- 限制时间窗口内的平均速率
- 限制远程接口调用速率,限制MQ的消费速率
- 根据网络连接数、网络流量、CPU或内存负载限流
- 服务降级
- 降级:生产者出现故障,消费者主动断开与生产者的连接,保护消费者避免故障感染。
- 目的:保证重要或基本服务正常运行,非重要服务延迟使用或暂停使用。如若不熔断,很可能会产生雪崩。
- 降级策略有三个相关的技术概念:
- 隔离
- 熔断:熔断依赖于隔离
- 容错:容错依赖于熔断
- 服务熔断与容错
- 熔断:某个生产者在指定时间段持续出现故障时,消费者主动断开其链接,如果生产者排除故障,则链接自动恢复。
- 熔断可以将问题服务隔离开,令请求快速返回。
- 熔断可以手动开启也可以自动开启。
- 容错:消费者访问生产者某一个实例失败,则根据容错策略自动进行错误处理。如:选择另一个实例重试、按时间间隔持续重试同一实例,或者快速返回失败不重试。
- 安全认证等
- 服务发现
- 服务治理的三种实现方式
- 服务治理能力内嵌在业务代码中
- 优点:简单实用依赖少
- 限制:代码耦合、代码重复高、运维复杂、开发要求高
- 服务治理能力抽象到统一SDK实现
- 优点:代码重复少,治理逻辑代码和业务分开
- 限制: sdk语言绑定,代码侵入,sdk学习成本高,系统改造代价大
- 服务治理能力归一到服务网络
- 优点:独立进程,用户业务非侵入,语言无关,治理逻辑业务升级无感知,无需改造,渐进的微服务化
- 限制:代理的性能和资源开销
- 服务治理能力内嵌在业务代码中
- 服务网格:一种云原生的应用层网络技术
- 云原生:面向弹性、微服务化、去中心化业务场景
- 应用层:以应用为中心,关注应用的发布、监控、恢复等
- 网络:关注应用组件之间的接口、流量、数据、访问安全等。
- Lstio
- Lstio是k8s上原生的服务网格技术
- Lstio服务架构
- 应用服务网络在逻辑上分为控制层面和数据层面
- 控制层面:管理代理,用于管理流量路由,运行时策略执行
- 数据层面:由一组以sidecar方式部署的智能代理组成。
- 应用服务网络的组件
- Lstio管理器(pilot):流量管理。
- 策略执行模块Mixer
- Citadel认证安全
- Galley
- 智能代理(Envoy)
- 应用服务网络在逻辑上分为控制层面和数据层面
八、总结与回顾(5%)
九、华为云工具
- 敏捷软件测试的方法和实践
- DevCloud云测和移动应用测试实践:云端一站式测试解决方案。
- 华为云容器引擎CCE
- 基于开源k8s和docker技术的企业级容器服务。
- 关键特性
- 一键创建k8s集群,自动化部署、运维容器应用。
- 支持java/python/go/nodejs/vert.x等语言代码开发一键式生成镜像能力
- 华为云DevCloud编译构建服务(CloudBuild)
- 特性
- 支持10+种语言,15+种框架,覆盖主流软件开发场景
- c/c++/java/python/nodejs/c#/android
- maven/gradle/ant/npm/msbuild/cmake
- 并行、缓存、网络多种加速技术
- 支持10+种语言,15+种框架,覆盖主流软件开发场景
- 特性
- 华为云DevCloud中的软件制品库
- 私有依赖库 CloudArtifact
- 软件发布库 CloudRelease
- 发布库是为软件开发企业提供管理软件发布过程中的能力,保障软件发布过程的规范化、可视化、可追溯。
- 相对于开发过程中的源代码,发布服务关注和管理的是开发产生的待部署的软件包及其生命周期元数据(名称大小时间等)
- 发布库服务目标:通过安全可靠的软件仓库,实现软件包版本管理,提升发布质量和效率,实现产品的持续发布。
- 软件发布库的特性
- 丰富的文件操作:支持文件重命名、批量删除、批量恢复、上传、下载、文件名搜索等操作
- 开源镜像站
- 容器镜像服务 (SWR,software repository for container)
- 容器流水线ContainerOps
- 容器化底座,实现资源的快速弹性伸缩,即需即取
- 内置多种典型CI/CD流水线,开通服务即可使用
- 容器流水线ContainerOps
- DevCloud流水线
- DevCloud流水线提供人工审核功能,只有指定负责人审批后才可继续往下执行。规定时间内未审批,流水线自动继续执行。
- DevCloud流水线服务支持一键下载流水线中配置好的构建任务的软件包。
- 华为云DevCloud部署服务
- DevCloud部署服务的目标主机既可以是Window操作系统也可以是Linux操作系统。
- 部署服务功能模块
- 部署应用到物理机、虚机、容器
- 支持多种技术栈应用的部署
- 支持与流水线、运维管理无缝集成
- 部署服务的工作原理
- 云主机部署
- 容器部署
- 部署服务的关键特性
- 系统模板(系统模板、自定义模板):选择模板后可以更改部署步骤。
- 批量部署:多个目标主机并行执行部署服务
- 自定义组合部署步骤:提供25+部署步骤自由组合任务
- 支持参数化:支持部署任务内容参数化,部署任务支撑参数设置并动态执行。
- 应用场景
- 简单Web应用:用户开发简单web应用并使用软件开发云编译构建和部署。
- 微服务容器部署:大型应用软件网站有很多的组件或微服务组合协调。
- 云上运维实践 - 华为云云上运维解决方案
- 华为云云上运维解决方案可以完成基础设施层、应用层、应用性能层这三层的一站式运维。
- 华为云AOM运维管理系统
- AOM应用运维管理,是云上应用的一站式立体化运维管理平台,实时监控应用及云资源,采集各种指标、日志及事件等数据分析应用健康状态,提供告警及数据可视化功能。
- AOM监控对象
- 主机监控
- 应用监控
- 容器监控
- 中间件监控
- AOM - ECS监控
- 支持20余中主机指标
- 网络监控
- 文件系统监控
- 磁盘监控
- 关联实例信息
- 按照集群维度进行主机监控,获取集群、主机、服务关联关系
- AOM-告警中心
- 支持各类指标告警,及时通知
- AOM - 日志管理
- 云日志服务LTS
- LTS功能之转储:将日志从LTD转储到OBS,可永久保存。
- 华为云操作日志 - 云审计服务CTS
考的目录总结
- 一、华为端到端DevOps概览
- 1.1 软件产业和交付模式发展趋势
- 软件产业发展趋势
- 新形势下企业面临的挑战
- 敏捷和DevOps逐渐成为主流交付模式
- 1.2 新兴软件技术及交付模式简介
- 云原生的概念和应用
- 微服务的产生背景与优势
- 1.3 华为云DevCloud HE2E DevOps框架
- 华为云DevCloud HE2E DevOps框架
- “凤凰商城” 门店网络查询功能上线的应用
- 1.1 软件产业和交付模式发展趋势
- 二、持续规划与设计
- 2.1 敏捷项目管理理念与方法实践
- 敏捷开发特点更符合软件开发规律;
- 敏捷开发管理方法:Scrum和看板;
- 敏捷开发实践举例;
- 2.2 规划与设计
- 增量式交付:及时反馈和接纳,频繁向客户交付连续改善的工作产品
- 影响地图:使用可视化的方式, 建立商业目标与产品功能的联系, 并将联系背后的假设可视化出来;
- 用户故事地图:透过可视化的方式, 建立用户场景与技术规格之间的联系,并辅助团队有效沟通;
- 2.3 敏捷项目管理的方法、模型
- 敏捷项目管理的方法
- Kanban的含义源自精益制造;
- 建立和运作看板的五大实践:可视化价值流动、显示化流程规则、控制在制品数量、管理工作项流动、建立反馈,持续改进;
- 敏捷项目管理的模型
- scrum框架包括3种角色、3种工件、5种事件、5种价值观;
- scrum的三大特点:可能性的艺术、团队自组织,自管理、面对面沟通;
- 敏捷项目管理的方法
- 2.4 敏捷需求管理
- 2.4.1 用户故事概述
- 用户故事的概念:描述了对用户,系统或软件购买者有价值的功能;
- 一个优秀的用户故事应该具备的属性:独立的、可讨论的、有价值的、可估计的、合适的、可测试的;
- 2.4.2 用户故事的属性
- 用户故事的优先级:可依据渴望度 Kano 模型、MoSCoW原则;
- 故事点的优点:通过理想人天的估算,便于预测速度;
- 2.4.3 敏捷估算
- 估算扑克估算的方法与练习;
- 敏捷估算2.0估算的方法是分解用户故事,并通过使用历史值和预测的方式估算速度;
- 2.4.1 用户故事概述
- 2.5 团队与协作
- Scrum 团队中的角色有:scrum master、product owner和Dev team;
- Scrum 团队文化是共赢的文化、团队成功、个人发展、立足现实和挑战极限;
- Scrum 事件包括:Sprint、Sprint 计划会议、每日 Scrum 站会、Sprint 评审会议 、Sprint Review、Sprint 回顾会议;
- 2.6 华为敏捷项目管理企业实践
- 敏捷的核心价值观:聚焦产品对客户的价值、重视团队协作和适应变化;
- 基于敏捷的软件项目管理理念:通过愿景、战略的沟通一致来协调高价值特性优先交付;
- 核心实践与华为云项目管理服务的七个步骤的介绍;
- 2.1 敏捷项目管理理念与方法实践
- 三、持续开发与集成
- 3.1 持续集成理念、方法与实践
- 持续集成的概念是将所有软件工程师对于软件的工作副本持续整合到共用主线的一种举措;
- 持续集成的流程;
- 企业实践;
- 3.2 代码托管与分支策略
- 3.2.1 代码托管与分支策略
- 工作流 (Git Flow)分支有:用于记录历史的分支、用于功能开发的分支、用于发布的分支、用于维护的分支;
- Github Flow 工作流具有特性分支和主干分支,例如带生产分支工作流、带环境分支工作流、带发布分支工作流;
- 3.2.2 企业实践
- Google 采用“主干开发”的方式,代码一般提交到主干的头部,保证所有用户看到的都是同一份代码的最新版本;
- 华为云的分支规则是Feature分支向Master分支合入;
- 3.2.1 代码托管与分支策略
- 3.3 Git基本概念及主要操作
- 3.3.1 Git基本概念
- Git 是目前世界上最先进的分布式版本控制系统;
- 文件的三种状态:已修改、已暂存、已提交;
- Git的配置;
- 3.3.2 Git主要操作
- 如何识别当前分支的方法;
- 分支合并的两种方式:Git Rebase 和 Merge ;
- Git 最佳实践;
- 3.3.1 Git基本概念
- 3.4 代码提交及代码评审
- 代码提交的过程以及华为代码提交的实践;
- 代码评审的价值;
- 3.5 华为云 DevCloud 代码托管服务及CloudIDE
- 3.5.1 华为云 DevCloud 代码托管服务
- CodeHub 的安全优势:DevCloud 层级和CodeHub 层级;
- CodeHub 的关键流程:创建代码仓库、管理代码仓库的成员与角色、上传代码到服务器、确定代码仓库的开发规范、在CodeHub上执行开发流程、了解开发进展情况;
- 3.5.2 华为云CloudIDE
- CloudIDE 是 DevCloud 的云端开发环境服务;
- CloudIDE支持云化和轻量化、快速按需容器化等多种特性;
- 当多个服务连到一起可以组成一个方案,以集成华为云modelarts sdk为例;
- 3.5.1 华为云 DevCloud 代码托管服务
- 3.6 静态代码检查
- 3.6.1 代码检查概述
- 静态代码检查是指在不运行计算机程序的条件下,进行程序分析的方法;
- 为什么做静态代码检查:静态代码检查可以检查出代码当中潜在的问题;
- 静态代码检查常用分析技术:词法分析、语法分析、数据流分析等;
- 代码检查的常用工具有:Splint、Coverity等;
- 3.6.2 代码检查操作
- 代码检查支持多语言检查、问题可视化、规则集管理与误报与漏报统一管理;
- 代码检查产品典型操作流程包括:创建代码检查任务、执行代码检查任务、任务详情 概览、任务详情问题概览、任务详情代码度量概览以及任务详情设置;
- 3.6.1 代码检查概述
- 3.1 持续集成理念、方法与实践
- 四、持续测试与反馈
- 4.1 敏捷软件测试理念、方法与实践
- 通过测试引出敏捷测试的相关介绍,敏捷测试能够快速迭代,确保提供符合预期需求的可持续服务;
- 敏捷测试特点;
- 介绍DevOps各流程主要服务内容;
- 4.2 测试管理
- 介绍完整的测试周期:包括测试策略,测试设计,测试执行以及测试报告;
- 掌握测试策略的方法;
- 介绍测试设计常用的三种方法:等价类划分法,边界值分析法,因果图法;
- 4.3 常见的测试方法
- 4.3.1 常见的测试方法(1)
- 基于API接口测试系统组件间的测试,主要用于测试系统和外部系统以及系统内部子模块之间的接口测试;
- 性能测试;
- 契约测试(Mock测试),适用于微服务使用场景;
- 4.3.2 常见的测试方法(2)
- Web自动化测试具有更高的测试覆盖率和更快的测试速度;
- 借助Selenium+TestNG的测试框架,通过图形化的脚本编排,自动生成测试脚本,运行测试用例,获得测试报告;
- 可靠性和安全性测试;
- 4.3.3 常见的测试方法(3)
- 在线测试是当前服务或微服务研发中必须的测试活动;
- 在线服务的基本概念;
- 在线测试中4个主要测试活动:导流测试、灰度测试、部署测试、在线持续测试;
- 在线测试导流测试的优秀实践;
- 4.3.1 常见的测试方法(1)
- 4.4 测试度量指标体系和质量评估
- 围绕测试度量指标体系,介绍过程度量和结果度量;
- 了解完整测试周期及测试退出条件;
- 掌握测试能力成熟度的5个阶段,“初始级”,“定义级”,“集成级”,“管理和测量级”,“优化级”;
- 通过云端一站式测试解决方案的介绍让大家了解敏捷软件测试的优势;
- 4.1 敏捷软件测试理念、方法与实践
- 五、持续安全与审计
- 5.1 DevSecOps简介和实践案例
- DevSecOps理论、方法及需要DevSecOps的原因;
- 如何实现DevSecOps的价值与实践;
- DevSecOps整体开发流程;
- 5.2 安全策略与工具
- 5.2.1 操作和资源可管控
- 操作和资源可管控的重要性;
- 通过态势感知检测云上安全风险,做到风险可识别;
- 通过云审计服务记录操作者日志信息,跟踪用户操作;
- 通过统一身份认证对用户访问权限进行划分,设置访问权限;
- 5.2.2 编码安全与工具
- 安全编码;
- 软件研发安全目标;
- 编码漏洞的典型案例;
- 5.2.3 漏洞防护策略与工具(1)
- 漏洞的分类及危害;
- 漏洞攻击原理;
- 5.2.4 漏洞防护策略与工具(2)
- 漏洞扫描典型案例;
- 漏洞管理和评估工具,例如Archety、OpenVAS;
- Web应用程序安全扫描工具OWASP ZAP;
- 华为云DevCloud一站式解决方案;
- 5.2.1 操作和资源可管控
- 5.1 DevSecOps简介和实践案例
- 六、持续部署与发布
- 6.1 持续交付与持续部署
- 如何实现系统架构解耦;
- 持续交付工具介绍;
- 持续部署工具链介绍;
- 6.2 微服务架构与微服务化应用
- 什么是微服务;
- 微服务的功能特性;
- 微服务框架介绍;
- 华为云ServiceStage平台介绍;
- 6.3 容器技术与容器化应用
- 6.3.1 容器技术概述
- 容器的背景;
- Docker介绍;
- 6.3.2 容器编排与容器化部署
- K8S介绍
- K8S整体架构介绍;
- K8S关键概念介绍;
- 6.3.1 容器技术概述
- 6.4 自动化的实现“一切即代码”
- 基础设施即代码解决方案介绍;
- 文档即代码方案介绍;
- 流水线即代码方案介绍;
- 6.5 自动化编译构建
- 什么是编译构建;
- 编译构建工具的演进及具体使用介绍;
- DevCloud编译构建功能特性;
- 6.6 制品和包管理
- 从软件制品出发,向大家介绍库的基本概念;
- 重点介绍DevCloud中软件发布库,私有依赖组件库,开源镜像站和中央镜像仓;
- 发布库功能特性;
- 容器镜像管理;
- 6.7 自动化部署
- 部署的发展历程;
- DevCloud自动化部署功能介绍;
- Tomcat部署实践;
- 部署服务的应用场景;
- 6.8 发布管理
- 自动化编译构建的理念;
- 自动化编译构建的流程和实践;
- 华为云DevCloud的编译构建服务基本操作;
- 6.9 自动化交付流水线
- 流水线的流程;
- 流水线的功能实现;
- 流水线的关键特性;
- 流水线的实践案例介绍;
- 6.1 持续交付与持续部署
- 七、持续运维与监控
- 7.1 运维的演进与DevOps
- 运维演进的三个阶段;
- 传统运维与云上运维的区别;
- DevOps基本概念;
- 华为云上运维实践;
- 7.2 运维监控平台概述与云上监控
- 云上运维监控的目的;
- 云上运维监控工具的介绍;
- 华为云AOM运维监控平台介绍;
- 7.3 云上服务日志管理与审计
- 7.3.1 云上服务日志管理与审计(上)
- 日志管理在运维过程中的重要性;
- 日志的基本概念、使用场景;
- 日志分析;
- 7.3.2 云上服务日志管理与审计(下)
- 云日志服务LTS概念介绍;
- 云日志服务LTS功能介绍;
- 云审计服务CTS概念介绍;
- 云审计服务CTS功能介绍;
- 7.3.1 云上服务日志管理与审计(上)
- 7.4 应用性能管理
- 应用性能监控对云上运维的重要意义;
- 华为云APM介绍;
- 华为云APM实践;
- 7.5 微服务治理概述
- 微服务治理的能力;
- 7.6 应用服务网络
- 服务治理的实现方式;
- 服务网格使用的技术;
- Istio概念、架构和功能特性;
- Spring Cloud接入Istio后功能选择建议;
- 华为云ASM服务功能介绍;
- 7.1 运维的演进与DevOps
- 八、总结与回顾
- 华为云端到端DevOps实践规划与设计;
- 华为30年研发模式的演进;
- DevOps如何做到适配转型;
- 华为敏捷项目管理框架;
- 华为云端到端DevOps实践开发与集成以及测试与反馈;
- 团队职能;
- DevCloud能力构建;
- 微服务API设计与DevCloud敏捷测试实践;