CC

官方 AZ-400 考试指南

考试格式、领域和准备技巧

AZ-400:Microsoft DevOps 解决方案设计和实施指南

考试概述

  • 认证: Microsoft DevOps 工程师专家
  • 考试代码: AZ-400
  • 目标受众: DevOps 工程师、开发人员和基础设施管理员
  • 所需经验: 具有 Azure 管理和开发经验,以及 GitHub 和 Azure DevOps 经验

前提条件

  • 以下任一副高级认证:
    • Azure 管理员副高级 (AZ-104)
    • Azure 开发者副高级 (AZ-204)

考核范围(截至2024年7月26日)

1. 设计和实施流程和沟通(10-15%)

设计和实现可追溯性和工作流

  • 设计和实现工作流结构(GitHub Flow)
  • 设计和实现反馈循环策略(通知、GitHub 问题)
  • 设计和实现工作跟踪的集成(GitHub 项目、Azure Boards、存储库)
  • 设计和实现源代码、bug 和质量可追溯性

设计和实施适当的 DevOps 度量和查询

  • 设计和实施仪表板(周期时间、恢复时间、交付时间)
  • 适合项目规划的指标
  • 适合开发的指标
  • 适合测试的指标
  • 适合安全性的指标
  • 适合交付的指标
  • 适合运营的指标

配置协作和通信

  • 使用维基和过程图记录项目(Markdown 和 Mermaid)
  • 配置发布文档和 API 文档
  • 从 Git 历史自动化文档创建
  • 配置 Webhook 集成
  • 在 Azure Boards 和 GitHub 存储库之间配置集成
  • 与 Microsoft Teams 配置集成

2. 设计和实施源代码控制策略(10-15%)

设计和实现分支策略

  • 设计分支策略(主干式、功能分支、发布分支)
  • 使用分支策略和保护实施拉取请求工作流
  • 实施分支合并限制

配置和管理存储库

  • 处理大文件的策略(Git LFS、git-fat)
  • 扩展和优化 Git 存储库的策略(Scalar、跨存储库共享)
  • 在源代码控制中配置权限
  • 配置标签以组织存储库
  • 使用 Git 命令恢复特定数据
  • 从源代码控制中删除特定数据

3. 设计和实现构建和发布管道(50-55%)

设计和实施包管理策略

  • 推荐包管理工具(GitHub Packages、Azure Artifacts)
  • 设计本地和上游包的包源和视图
  • 实施依赖版本控制策略(SemVer、CalVer)
  • 实施管道工件的版本控制策略

设计和实施管道的测试策略

  • 设计和实施质量和发布门控
  • 设计全面的测试策略(本地、单元、集成、负载测试)
  • 在管道中实施测试(测试任务、测试代理、测试结果)
  • 实施代码覆盖率分析

设计和实施管道

  • 选择部署自动化解决方案(GitHub Actions、Azure Pipelines)
  • 设计 GitHub Runner 或 Azure DevOps 代理基础设施
  • 将 GitHub 存储库与 Azure Pipelines 集成
  • 开发管道触发规则
  • 使用 YAML 开发管道
  • 设计作业执行顺序策略(并行、多阶段)
  • 开发复杂的管道场景(混合、VM 模板、自托管 Runner)
  • 创建可重用的管道元素(YAML 模板、任务组、变量)
  • 使用 YAML 环境设计检查和批准

设计和实施部署

  • 设计部署策略(蓝/绿、金丝雀、环装、渐进式曝光、功能开关、A/B 测试)
  • 确保可靠地安排依赖项部署
  • 最小化停机时间(VIP 交换、负载均衡、滚动部署、部署槽)
  • 设计热修复计划
  • 实施部署的弹性策略
  • 使用 Azure 应用程序配置实施功能开关
  • 实施应用程序部署(容器、二进制文件、脚本)
  • 实施包含数据库任务的部署

设计和实现基础架构即代码(IaC)

  • 推荐配置管理技术
  • 实施配置管理策略
  • 定义 IaC 策略(源代码控制、测试和部署自动化)
  • 实施所需状态配置(Azure Automation、ARM、Bicep、Automanage)
  • 实施 Azure 部署环境

维护管道

  • 监控管道运行状况(失败率、持续时间、不稳定的测试)
  • 优化管道成本、时间、性能、可靠性
  • 优化管道并发性
  • 设计工件和依赖项的保留策略
  • 从经典迁移到 YAML 管道

4. 制定安全性和合规性计划(10-15%)

设计和实现身份验证和授权

  • 在服务主体和托管标识之间进行选择
  • 实施 GitHub 身份验证(GitHub 应用程序、GITHUB_TOKEN、PAT)
  • 实施 Azure DevOps 服务连接和 PAT
  • 设计 GitHub 中的权限和角色
  • 设计 Azure DevOps 中的权限和安全组
  • 配置适当的访问级别
  • 在 Azure DevOps 中配置项目和团队

设计和实现敏感信息管理策略

  • 使用 Azure Key Vault 实施密码、密钥和证书
  • 在 GitHub Actions 和 Azure Pipelines 中实施密码
  • 管理部署过程中的敏感文件(安全文件)
  • 设计防止泄露敏感信息的管道

自动化安全性和合规性扫描

  • 设计安全性和合规性扫描策略
  • 配置 Microsoft Defender for Cloud DevOps 安全性
  • 配置 GitHub 高级安全性
  • 将 GitHub 高级安全性与 Microsoft Defender 集成
  • 自动化容器扫描和 CodeQL 分析
  • 使用 Dependabot 警报自动执行分析

5. 实施监控策略(5-10%)

为 DevOps 环境配置监控

  • 配置 Azure Monitor 和 Log Analytics 集成
  • 配置遥测收集(Application Insights、VM Insights、Container Insights、Storage Insights、Network Insights)
  • 在 GitHub 上配置监控(见解、图表)
  • 配置 GitHub Actions 和 Azure Pipelines 的警报

分析监测指标

  • 检查基础设施性能指标(CPU、内存、磁盘、网络)
  • 使用收集的遥测分析指标
  • 使用 Application Insights 检查分布式跟踪
  • 使用基本 KQL 查询检查日志

考试详情

  • 及格分数: 700
  • 题型: 案例分析、多选、拖放
  • 考试时长: 120 分钟(非英语母语者150分钟)
  • 支持语言: 包括英语、日语、中文、韩语、德语、法语、西班牙语、葡萄牙语、意大利语在内的多种语言
  • 考试费用: 165 美元(根据地区而异)

需要精通的关键技术

版本控制

  • Git 工作流和策略
  • GitHub Flow
  • 分支策略和保护
  • 拉取请求工作流
  • Git LFS 处理大文件

CI/CD 平台

  • Azure Pipelines YAML 语法
  • GitHub Actions 工作流
  • 管道触发器和条件
  • 多阶段管道
  • 矩阵构建

包管理

  • Azure Artifacts
  • GitHub Packages
  • NuGet、npm、Maven 源
  • 上游来源
  • 源视图和保留

基础架构即代码

  • ARM 模板
  • Bicep
  • Terraform 基础知识
  • Azure CLI/PowerShell
  • 所需状态配置

安全工具

  • Azure Key Vault
  • GitHub Secrets
  • 安全文件
  • 服务连接
  • 托管标识

监控

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • KQL 查询
  • 警报和仪表板

DevOps 实践

持续集成

  • 构建自动化
  • 单元测试
  • 代码覆盖率
  • 静态代码分析
  • 工件发布

持续交付

  • 发布管道
  • 环境升级
  • 审批门控
  • 回滚策略
  • 功能开关

测试策略

  • 测试金字塔
  • 左移测试
  • 测试自动化
  • 性能测试
  • 安全测试

部署模式

  • 蓝/绿部署
  • 金丝雀发布
  • 环装部署
  • 渐进式推广
  • 功能开关

认证路径

  • 先决条件: 需要 AZ-104 或 AZ-204
  • 续订: 需要通过 Microsoft Learn 每12个月续订一次
  • 相关认证:
    • Azure 解决方案架构师专家 (AZ-305)
    • Azure 安全工程师副高级 (AZ-500)
    • GitHub 认证