本文档的目的
本学习指南应帮助你了解考试的预期内容,并包含考试可能涵盖的主题摘要以及指向其他资源的链接。 本文档中的信息和材料可以帮助你在准备考试时集中精力学习。
有用链接 | 说明 |
---|---|
查看自 2024 年 7 月 26 日起测试的技能 | 此列表表示在提供的日期之后测试的技能。 如果你计划在该日期之后参加考试,请学习此列表。 |
查看 2024 年 7 月 26 日之前测试的技能 | 如果在提供的日期之前参加考试,请学习此技能列表。 |
更改日志 | 如果想要查看将在提供的日期所做的更改,可以直接转到更改日志。 |
如何获得认证 | 有些认证只需要通过一项考试,而另一些认证则需要通过多项考试。 |
认证续订 | Microsoft 助理、专业和专家认证每年都会过期。 你可以通过 Microsoft Learn 上的免费在线评估进行续订。 |
Microsoft Learn 个人资料 | 通过将认证个人资料连接到 Microsoft Learn,可以安排和续订考试以及共享和打印证书。 |
考分和成绩报告 | 需要 700 分或更高的分数才能通过。 |
考试沙盒 | 可以通过访问我们的考试沙盒来探索考试环境。 |
请求便利设施 | 如果你使用辅助设备、需要额外时间或需要修改考试体验的任何部分,你可以申请住宿。 |
进行免费的练习评估 | 通过练习题测试技能,帮助你为考试做准备。 |
考试更新
我们的考试会定期更新,以反映执行某一角色所需的技能。 我们提供了两个版本的技能测评目标,具体取决于你参加考试的时间。
我们始终首先更新考试的英语版本。 一些考试已本地化为其他语言,在英语版本更新后大约八周进行更新。 虽然 Microsoft 会尽一切努力更新本地化版本,但有时考试的本地化版本可能未按此计划进行更新。 其他可用语言列在“考试详细信息”网页的“安排考试”部分。 如果考试不以你的首选语言提供,你可以请求额外 30 分钟时间来完成考试。
注意
每项技能下面的项目符号旨在说明我们如何评估该技能。 考试中可能会涉及到相关的主题。
注意
大多数问题都涉及正式发布 (GA) 的功能。 如果经常使用预览功能,该考试可能会包含有关这些功能的问题。
自 2024 年 7 月 26 日起测试的技能
受众概况
作为一名 DevOps 工程师,你是开发人员或基础结构管理员,同时也是与人员协作、流程和产品方面的行业专家,负责实现组织的价值持续交付。
此角色的职责包括提供 Microsoft DevOps 解决方案,这些解决方案提供持续的安全性、集成、测试、交付、部署、监视和反馈。 你负责设计和实现工作流、协作、通信、源代码管理和自动化。
作为 DevOps 工程师,你在跨职能团队中工作,其中包括:
开发人员
站点可靠性工程师
Azure 管理员
安全工程师
你必须具备在 Azure 中管理和开发的经验,并且至少在其中一个领域具有很强的技能。 你还应具备实现 GitHub 和 Azure DevOps 解决方案的经验。
技能概览
设计和实现流程和通信 (10-15%)
设计和实现源代码管理策略 (10-15%)
设计和实现生成和发布管道 (50-55%)
制定安全性和合规性规划 (10-15%)
实现检测策略 (5-10%)
设计和实现流程和通信 (10-15%)
设计和实现可跟踪性和工作流
设计和实现工作流的结构,包括 GitHub Flow
设计和实现反馈周期的策略,包括通知和 GitHub 议题
设计和实现跟踪工作的集成,包括 GitHub 项目、Azure Boards 和存储库
设计和实现源、bug 和质量可追溯性
为 DevOps 设计和实现适当的指标和查询
设计和实现仪表板,包括工作流,例如周期时间、恢复时间和提前期
设计和实现项目规划的适当指标和查询
设计和实现用于开发的适当指标和查询
设计和实现用于测试的适当指标和查询
设计和实现用于安全性的适当指标和查询
设计和实现用于交付的适当指标和查询
设计和实现用于运营的适当指标和查询
配置协作和通信
通过配置 Wiki 和流程图来记录项目,包括 Markdown 和 Mermaid 语法
配置发布文档,包括发行说明和 API 文档
从 Git 历史记录自动创建文档
使用 Webhook 配置集成
配置 Azure Boards 和 GitHub 存储库之间的集成
配置 GitHub 或 Azure DevOps 与 Microsoft Teams 之间的集成
设计和实现源代码管理策略 (10-15%)
设计和实现源代码的分支策略
设计分支策略,包括基于主干的功能分支和发布分支
使用分支策略和分支保护设计和实现拉取请求工作流
使用分支策略和分支保护实现分支合并限制
配置和管理存储库
设计和实现用于管理大型文件的策略,包括 Git 大型文件存储 (LFS) 和 git-fat
设计用于缩放和优化 Git 存储库的策略,包括 Scalar 和跨存储库共享
在源代码管理存储库中配置权限
配置标记以组织源代码管理存储库
使用 Git 命令恢复特定数据
从源代码管理中移除特定数据
设计和实现生成和发布管道 (50-55%)
设计和实现包管理策略
推荐包管理工具,包括 GitHub 包注册表和 Azure Artifacts
设计和实现本地包和上游包的包源和视图
设计和实现代码资产和包的依赖项版本控制策略,包括语义化版本控制 (SemVer) 和基于日期的版本控制 (CalVer)
设计和实现管道工件的版本控制策略
设计和实现管道的测试策略
设计和实现质量门和发布门,包括安全性和治理
设计全面的测试策略,包括本地测试、单元测试、集成测试和负载测试
在管道中实现测试,包括配置测试任务、配置测试代理以及集成测试结果
实现代码覆盖率分析
设计和实现管道
选择部署自动化解决方案,包括 GitHub Actions 和 Azure Pipelines
设计和实现 GitHub 运行器或 Azure DevOps 代理基础结构,包括成本、工具选择、许可证、连接性和可维护性
设计和实现 GitHub 存储库与 Azure Pipelines 之间的集成
制定和实现管道触发器规则
使用 YAML 开发管道
设计和实现作业执行命令的策略,包括并行性和多阶段管道
开发和实现复杂的管道方案,例如混合管道、VM 模板和自承载运行器或代理
创建可重复使用的管道元素,包括 YAML 模板、任务组、变量和变量组
使用基于 YAML 的环境设计和实现检查与审批
设计和实现部署
设计部署策略,包括蓝-绿、Canary、更新通道、渐进式曝光、功能标志和 A/B 测试
设计管道以确保对依赖项部署进行可靠排序
规划使用虚拟 IP 地址 (VIP) 交换、负载均衡、滚动部署、部署槽位的使用和交换在部署过程中最大程度地减少停机时间
制定用于响应高优先级代码修复的热修复路径计划
设计和实现部署的复原策略
使用 Azure 应用程序配置功能管理器实现功能标志
使用容器、二进制文件和脚本实现应用程序部署
实现包含数据库任务的部署
设计和实现基础结构即代码 (IaC)
推荐应用程序基础结构的配置管理技术
实现应用程序基础结构的配置管理策略
定义 IaC 策略,包括源代码管理以及测试和部署的自动化
设计和实现所需的环境状态配置,包括 Azure 自动化 State Configuration、Azure 资源管理器、Bicep 和 Azure Automanage 机器配置
设计和实现用于按需自行部署的 Azure 部署环境
维护管道
监视管道运行状况,包括故障率、持续时间和故障测试
优化管道的成本、时间、性能和可靠性
针对性能和成本优化管道并发
设计和实现管道工件和依赖项的保留策略
在 Azure Pipelines 中将管道从经典迁移到 YAML
制定安全性和合规性规划 (10-15%)
设计和实现身份验证和授权方法
在服务主体和托管标识之间进行选择(包括系统分配和用户分配)
实现和管理 GitHub 身份验证,包括 GitHub 应用、GITHUB_TOKEN 和个人访问令牌
实现和管理 Azure DevOps 服务连接和个人访问令牌
在 GitHub 中设计和实现权限和角色
在 Azure DevOps 中设计和实现权限和安全组
建议适当的访问级别,包括 Azure DevOps 中的利益干系人访问和 GitHub 中的外部协作者访问
在 Azure DevOps 中配置项目和团队
设计和实现用于管理自动化敏感信息的策略
使用 Azure Key Vault 实现和管理机密、密钥和证书
在 GitHub Actions 和 Azure Pipelines 中实现和管理机密
设计和实现部署期间管理敏感文件的策略,包括 Azure Pipelines 安全文件
设计管道以防止敏感信息泄露
自动执行安全性和合规性扫描
设计安全性与合规性扫描策略,包括依赖项、代码、机密和许可扫描
配置 Microsoft Defender for Cloud DevOps 安全性
为 GitHub 和 Azure DevOps 配置 GitHub Advanced Security
将 GitHub Advanced Security 与 Microsoft Defender for Cloud 集成
自动执行容器扫描,包括扫描容器映像和配置操作以在容器中运行 CodeQL 分析
使用 Dependabot 警报自动分析开源组件的许可、漏洞和版本控制
实现检测策略 (5-10%)
配置 DevOps 环境的监视
配置 Azure Monitor 和 Log Analytics 以与 DevOps 工具集成
使用 Application Insights、VM Insights、Container Insights、Storage Insights 和 Network Insights 配置遥测集合
在 GitHub 中配置监视,包括启用见解以及创建和配置图表
在 GitHub Actions 和 Azure Pipelines 中为事件配置警报
分析检测中的指标
检查基础结构性能指标,包括 CPU、内存、磁盘和网络
使用收集的遥测数据分析指标,包括使用情况和应用程序性能
使用 Application Insights 检查分布式跟踪
使用基本的 Kusto 查询语言 (KQL) 查询查询日志
学习资源
我们建议你在参加考试之前进行培训并获得实践经验。 我们提供自学选项和课堂培训,以及指向文档、社区网站和视频的链接。
更改日志
理解表的关键:主题组(也称为功能组)以粗体字样显示,后跟每个组中的目标。 下表比较了两个版本的考试测评技能,第三列描述了更改程度。
2024 年 7 月 26 日之前的技能领域 | 自 2024 年 7 月 26 日起的技能领域 | 更改 |
---|---|---|
受众概况 | 没有变化 | |
设计和实现流程和通信 | 设计和实现流程和通信 | 没有变化 |
设计和实现可跟踪性和工作流 | 设计和实现可跟踪性和工作流 | 次要 |
为 DevOps 设计和实现适当的指标和查询 | 为 DevOps 设计和实现适当的指标和查询 | 没有变化 |
配置协作和通信 | 配置协作和通信 | 次要 |
设计和实现源代码管理策略 | 设计和实现源代码管理策略 | 没有变化 |
设计和实现源代码的分支策略 | 设计和实现源代码的分支策略 | 没有变化 |
配置和管理存储库 | 配置和管理存储库 | 没有变化 |
设计和实现生成和发布管道 | 设计和实现生成和发布管道 | 没有变化 |
设计和实现包管理策略 | 设计和实现包管理策略 | 次要 |
设计和实现管道的测试策略 | 设计和实现管道的测试策略 | 没有变化 |
设计和实现管道 | 设计和实现管道 | 次要 |
设计和实现部署 | 设计和实现部署 | 次要 |
设计和实现基础结构即代码 (IaC) | 设计和实现基础结构即代码 (IaC) | 没有变化 |
维护管道 | 维护管道 | 没有变化 |
制定安全性和合规性计划 | 制定安全性和合规性计划 | 没有变化 |
设计和实现身份验证和授权方法 | 设计和实现身份验证和授权方法 | 次要 |
设计和实现用于管理自动化敏感信息的策略 | 设计和实现用于管理自动化敏感信息的策略 | 没有变化 |
自动执行安全性和合规性扫描 | 自动执行安全性和合规性扫描 | 没有变化 |
实现检测策略 | 实现检测策略 | 没有变化 |
配置 DevOps 环境的监视 | 配置 DevOps 环境的监视 | 没有变化 |
分析检测中的指标 | 分析检测中的指标 | 没有变化 |
2024 年 7 月 26 日之前测试的技能
受众概况
作为一名 DevOps 工程师,你是开发人员或基础结构管理员,同时也是与人员协作、流程和产品方面的行业专家,负责实现组织的价值持续交付。
此角色的职责包括提供 Microsoft DevOps 解决方案,这些解决方案提供持续的安全性、集成、测试、交付、部署、监视和反馈。 你负责设计和实现工作流、协作、通信、源代码管理和自动化。
作为 DevOps 工程师,你在跨职能团队中工作,其中包括:
开发人员
站点可靠性工程师
Azure 管理员
安全工程师
你必须具备在 Azure 中管理和开发的经验,并且至少在其中一个领域具有很强的技能。 你还应具备实现 GitHub 和 Azure DevOps 解决方案的经验。
技能概览
设计和实现流程和通信 (10-15%)
设计和实现源代码管理策略 (10-15%)
设计和实现生成和发布管道 (50-55%)
制定安全性和合规性规划 (10-15%)
实现检测策略 (5-10%)
设计和实现流程和通信 (10-15%)
设计和实现可跟踪性和工作流
设计和实现工作流的结构,包括 GitHub Flow
设计和实现反馈周期的策略,包括通知和问题
设计和实现跟踪工作的集成,包括 GitHub 项目、Azure Boards 和存储库
设计和实现源、bug 和质量可追溯性
为 DevOps 设计和实现适当的指标和查询
设计和实现仪表板,包括工作流,例如周期时间、恢复时间和提前期
设计和实现项目规划的适当指标和查询
设计和实现用于开发的适当指标和查询
设计和实现用于测试的适当指标和查询
设计和实现用于安全性的适当指标和查询
设计和实现用于交付的适当指标和查询
设计和实现用于运营的适当指标和查询
配置协作和通信
通过配置 Wiki 和流程图来记录项目,包括 Markdown 和 Mermaid 语法
配置发布文档,包括发行说明和 API 文档
从 Git 历史记录自动创建文档
使用 Webhook 配置集成
配置 GitHub 或 Azure DevOps 与 Microsoft Teams 之间的集成
设计和实现源代码管理策略 (10-15%)
设计和实现源代码的分支策略
设计分支策略,包括基于主干的功能分支和发布分支
使用分支策略和分支保护设计和实现拉取请求工作流
使用分支策略和分支保护实现分支合并限制
配置和管理存储库
设计和实现用于管理大型文件的策略,包括 Git 大型文件存储 (LFS) 和 git-fat
设计用于缩放和优化 Git 存储库的策略,包括 Scalar 和跨存储库共享
在源代码管理存储库中配置权限
配置标记以组织源代码管理存储库
使用 Git 命令恢复特定数据
从源代码管理中移除特定数据
设计和实现生成和发布管道 (50-55%)
设计和实现包管理策略
推荐包管理工具,包括 GitHub 包注册表和 Azure Artifacts
设计和实现本地包和上游包的包源和视图
设计和实现代码资产和包的依赖项版本控制策略,包括语义版本控制和基于日期的版本控制
设计和实现管道工件的版本控制策略
设计和实现管道的测试策略
设计和实现质量门和发布门,包括安全性和治理
设计全面的测试策略,包括本地测试、单元测试、集成测试和负载测试
在管道中实现测试,包括配置测试任务、配置测试代理以及集成测试结果
实现代码覆盖率分析
设计和实现管道
选择部署自动化解决方案,包括 GitHub Actions 和 Azure Pipelines
设计和实现 GitHub 运行器或 Azure DevOps 代理基础结构,包括成本、工具选择、许可证、连接性和可维护性
设计和实现 GitHub 存储库与 Azure Pipelines 之间的集成
制定和实现管道触发器规则
使用 YAML 开发管道
设计和实现作业执行命令的策略,包括并行性和多阶段管道
开发和实现复杂的管道方案,例如混合管道、VM 模板和自承载运行器或代理
创建可重复使用的管道元素,包括 YAML 模板、任务组、变量和变量组
使用 YAML 环境设计和实现检查与审批
设计和实现部署
设计部署策略,包括蓝-绿、Canary、更新通道、渐进式曝光、功能标志和 A/B 测试
设计管道以确保对依赖项部署进行可靠排序
计划使用虚拟 IP 地址 (VIP) 交换、负载均衡、滚动部署、部署槽位在部署过程中最大程度地减少停机时间
制定用于响应高优先级代码修复的热修复路径计划
设计和实现部署的复原策略
使用 Azure 应用程序配置功能管理器实现功能标志
使用容器、二进制文件和脚本实现应用程序部署
实现包含数据库任务的部署
设计和实现基础结构即代码 (IaC)
推荐应用程序基础结构的配置管理技术
实现应用程序基础结构的配置管理策略
定义 IaC 策略,包括源代码管理以及测试和部署的自动化
设计和实现所需的环境状态配置,包括 Azure 自动化 State Configuration、Azure 资源管理器、Bicep 和 Azure Automanage 机器配置
设计和实现用于按需自行部署的 Azure 部署环境
维护管道
监视管道运行状况,包括故障率、持续时间和故障测试
优化管道的成本、时间、性能和可靠性
针对性能和成本优化管道并发
设计和实现管道工件和依赖项的保留策略
在 Azure Pipelines 中将管道从经典迁移到 YAML
制定安全性和合规性规划 (10-15%)
设计和实现身份验证和授权方法
在服务主体和托管标识之间进行选择
实现和管理 GitHub 身份验证,包括 GitHub 应用、GITHUB_TOKEN 和个人访问令牌
实现和管理 Azure DevOps 服务连接和个人访问令牌
在 GitHub 中设计和实现权限和角色
在 Azure DevOps 中设计和实现权限和安全组
建议适当的访问级别,包括 Azure DevOps 中的利益干系人访问和 GitHub 中的外部协作者访问
在 Azure DevOps 中配置项目和团队
设计和实现用于管理自动化敏感信息的策略
使用 Azure Key Vault 实现和管理机密、密钥和证书
在 GitHub Actions 和 Azure Pipelines 中实现和管理机密
设计和实现部署期间管理敏感文件的策略,包括 Azure Pipelines 安全文件
设计管道以防止敏感信息泄露
自动执行安全性和合规性扫描
设计安全性与合规性扫描策略,包括依赖项、代码、机密和许可扫描
配置 Microsoft Defender for Cloud DevOps 安全性
为 GitHub 和 Azure DevOps 配置 GitHub Advanced Security
将 GitHub Advanced Security 与 Microsoft Defender for Cloud 集成
自动执行容器扫描,包括扫描容器映像和配置操作以在容器中运行 CodeQL 分析
使用 Dependabot 警报自动分析开源组件的许可、漏洞和版本控制
实现检测策略 (5-10%)
配置 DevOps 环境的监视
配置 Azure Monitor 和 Log Analytics 以与 DevOps 工具集成
使用 Application Insights、VM Insights、Container Insights、Storage Insights 和 Network Insights 配置遥测集合
在 GitHub 中配置监视,包括启用见解以及创建和配置图表
在 GitHub Actions 和 Azure Pipelines 中为事件配置警报
分析检测中的指标
检查基础结构性能指标,包括 CPU、内存、磁盘和网络
使用收集的遥测数据分析指标,包括使用情况和应用程序性能
使用 Application Insights 检查分布式跟踪
使用基本的 Kusto 查询语言 (KQL) 查询查询日志