測驗 AZ-400:設計及實作 Microsoft DevOps 解決方案的學習指南

本文件的用途

此學習指南應可協助您理解測驗的內容範圍,並會包含測驗可能涵蓋的主題摘要,以及其他資源的連結。 本文件中的資訊和教材應可協助您專心準備此測驗。

實用的連結 描述
檢閱至 2023 年 10 月 31 日止評量的技能 這份清單代表在指定日期「之後」所會評測的技能。 若您計劃在該日期「之後」參加測驗,請詳閱此清單。
檢閱 2023 年 10 月 31 日前評量的技能 若您計劃在指定日期「之前」參加測驗,請詳閱這份清單。
變更記錄 若您想了解會在指定日期進行的變更,可以直接前往變更記錄檔。
獲取認證的方式 部分認證僅需通過一個測驗,而其他認證則需通過多個測驗。
認證更新 Microsoft Associate、Expert 與 Specialty 認證每年都會到期。 您可以透過通過 Microsoft Learn 的免費線上評量來進行更新。
您的 Microsoft Learn 設定檔 將認證設定檔連線至 Microsoft Learn 可讓您排程與更新測驗,以及分享與列印認證。
測驗計分與成績單 700 分或以上才能通過。
測驗沙箱 您可以瀏覽我們的測驗沙箱,以探索測驗環境。
要求無障礙設施 如果您使用輔具、需要額外的時間,或需要修改測驗體驗的任何部分,您都可以要求便利設施。
參加免費的練習評量 利用練習問題測試技能,以協助您準備測驗。

測驗更新

我們會定期更新測驗,以反映執行角色所需的技能。 取決於您參加測驗的時間,我們已包括兩種版本的技能評測目標。

我們一律會先更新英文版的測驗。 部分測驗會翻譯成其他語言,而且那些語言版本會在英文版更新後約八週進行更新。 雖然 Microsoft 竭盡一切所能更新測驗的當地語系化版本,但有時候測驗的當地語系化版本可能會未在此排程上進行更新。 其他可用的語言會列在 [測驗詳細資訊] 網頁的 [安排測驗時間] 區段中。 如果測驗未提供您慣用語言的版本,您可以多要求 30 分鐘來完成測驗。

注意

每種評量技能下的項目,旨在說明評估該技能的方式。 測驗會涵蓋相關主題。

注意

大部分的問題都會涵蓋正式發行 (GA) 的功能。 測驗可能包含常用預覽版功能的問題。

截至 2023 年 10 月 31 日止評量的技能

對象個人檔案

作為 DevOps 工程師,您是開發人員或基礎結構系統管理員,也具備與人員合作及使用程序及產品的主題專業知識,以在組織中持續傳遞價值。

您的角色責任包括設計和實作共同作業、程式碼、基礎結構、原始程式碼控制、安全性、合規性、持續整合、測試、交付、監視和意見反應的策略。

作為 DevOps 工程師,您任職于跨功能小組,包括:

  • 開發人員

  • 網站可靠性工程師

  • Azure 系統管理員

您必須具備在 Azure 中管理及開發的經驗,且在至少其中一個領域有擅長的技能。 您應熟悉:

  • Azure DevOps

  • GitHub

技能一目了然

  • 設定程序和通訊 (10–15%)

  • 設計及實作原始檔控制 (15–20%)

  • 設計及實作組建和發行管線 (40–45%)

  • 制定安全性與合規性計畫 (10–15%)

  • 實作檢測策略 (10–15%)

設定程序和通訊 (10–15%)

設定活動可追蹤性和工作流程

  • 規劃及實作工作流程和意見反應週期的結構

  • 識別與工作流程相關的適當計量,例如週期時間、復原時間和前置時間

  • 將 Azure Pipelines 和 GitHub Actions 與工作項目追蹤工具整合

  • 實作開發所決定的可追蹤性原則

  • 將存放庫與 Azure Boards 整合

設定共同作業和通訊

  • 在 Azure Boards 中使用自訂儀表板來傳達可採取動作的資訊

  • 使用 Wiki 和程序圖等工具來記錄專案

  • 設定版本文件,包括版本資訊和 API 文件

  • 自動從 Git 記錄建立文件

  • 使用 Webhook 來設定通知

設計及實作原始檔控制 (15–20%)

設計及實作原始檔控制策略

  • 設計及實作驗證策略

  • 設計管理大型檔案的策略,包括 Git 大型檔案儲存體 (LFS) 和 git-fat

  • 設計調整和最佳化 Git 存放庫的策略,包括純量和跨存放庫共用

  • 實作工作流程勾點

規劃及實作原始程式碼的分支策略

  • 設計分支策略,包括主幹型、功能分支和發行分支

  • 使用分支原則和分支保護來設計及實作提取要求工作流程

  • 使用分支原則和分支保護來實作分支合併限制

設定及管理存放庫

  • 將 GitHub 存放庫與 Azure Pipelines 整合

  • 設定原始檔控制存放庫中的權限

  • 設定標記以組織原始檔控制存放庫

  • 使用 Git 命令來復原資料

  • 清除原始檔控制中的資料

設計及實作組建和發行管線 (40–45%)

設計及實作管線自動化

  • 將管線與外部工具 (包括相依性掃描、安全性掃描和程式碼涵蓋範圍) 整合

  • 設計及實作品質和發行閘道,包括安全性和治理

  • 設計自動化的測試如何整合到管線中

  • 設計及實作完整的測試策略 (包括本機測試、單元測試、整合測試和負載測試)

  • 設計及實作 UI 測試

  • 實作工具的協調流程,例如 GitHub Actions 和 Azure Pipelines

設計及實作套件管理策略

  • 設計使用 Azure Artifacts、GitHub Packages、NuGet 和 npm 的套件管理實作

  • 設計及實作套件摘要,包括上游來源

  • 設計及實作程式碼資產和套件的相依性版本設定策略,包括語意化版本控制系統和日期型

  • 設計及實作管線成品的版本設定策略

設計及實作管線

  • 選取部署自動化解決方案,包括 GitHub Actions 和 Azure Pipelines

  • 設計及實作代理程式基礎結構,包括成本、工具選取、授權、連線和可維護性

  • 制定及實作管線觸發規則

  • 開發管線,包括傳統和 YAML

  • 設計及實作作業執行順序的策略,包括平行處理原則和多階段

  • 開發複雜的管線案例,例如容器化代理程式和混合式

  • 設定及管理自我裝載式代理程式,包括虛擬機器 (VM) 範本和容器化

  • 建立可重複使用的管線元素,包括 YAML 範本、工作群組、變數和變數群組

  • 使用 YAML 環境來設計及實作檢查與核准

設計及實作部署

  • 設計部署策略,包括藍綠、Canary、通道、漸進式曝光、功能旗標和 A/B 測試

  • 設計管線以確保相依性部署順序可靠

  • 使用虛擬 IP 位址 (VIP) 交換、負載平衡器和輪流部署來規劃將部署期間的停機時間降至最低

  • 設計 Hotfix 路徑計畫以回應高優先順序的程式碼修正

  • 實作部署的負載平衡,包括 Azure 流量管理員和 Azure App Service 的 Web 應用程式功能

  • 使用 Azure 應用程式設定功能管理員來實作功能旗標

  • 使用容器、二進位和指令碼來實作應用程式部署

設計及實作基礎架構即程式碼 (IaC)

  • 建議應用程式基礎結構的設定管理技術

  • 實作應用程式基礎結構的設定管理策略,包括 IaC

  • 定義 IaC 策略,包括測試和部署的原始檔控制和自動化

  • 設計及實作環境所需的狀態設定,包括 Azure 自動化狀態設定、Azure Resource Manager、Bicep 和 Azure Automanage 機器設定

  • 設計和實作隨選自我部署的 Azure 部署環境

維護管線

  • 監視管線健康狀態,包括失敗率、持續時間和不穩定測試

  • 將管線的成本、時間、效能和可靠性最佳化

  • 分析管線負載以判斷代理程式設定和容量

  • 設計及實作管線成品和相依性的保留策略

制定安全性與合規性計畫 (10–15%)

設計及實作在自動化中管理敏感性資訊的策略

  • 實作及管理服務連線

  • 實作及管理個人存取權杖

  • 使用 Azure Key Vault、GitHub 祕密和 Azure Pipelines 祕密來實作及管理祕密、金鑰和憑證

  • 設計及實作在部署期間管理敏感性檔案的策略

  • 設計管線以防止敏感性資訊外洩

將安全性與合規性掃描自動化

  • 使用 GitHub 程式碼掃描、GitHub 祕密掃描、管線型掃描和 SonarQube 來自動分析原始程式碼

  • 將安全性掃描自動化,包括容器掃描和 OWASP Zed 攻擊 Proxy (ZAP)

  • 使用 Mend Bolt 和 GitHub 相依性掃描來自動分析開放原始碼元件的授權、弱點和版本設定

實作檢測策略 (10–15%)

設定 DevOps 環境的監視

  • 使用 Azure 監視器來設定及整合監視

  • 設定監視工具並與其進行整合,例如 Azure 監視器、Application Insights 和 Prometheus 受控服務

  • 管理監視平台的存取控制

  • 設定管線事件的警示

分析計量

  • 使用 Application Insights 來檢查分散式追蹤

  • 檢查應用程式效能指標

  • 檢查基礎結構效能指標,包括 CPU、記憶體、磁碟和網路

  • 識別及監視商業價值的計量

  • 使用 Application Insights 來分析使用計量

  • 使用基本 Kusto 查詢語言 (KQL) 查詢詢問記錄

學習資源

建議您在參加測驗之前,先進行訓練並取得實作經驗。 我們提供了自學選項和課堂訓練,以及文件、社群網站和影片的連結。

學習資源 學習和文件的連結
接受訓練 從自學型學習路徑與課程模組中選擇,或參加導學型課程
尋找文件 DevOps 資源中心
Azure DevOps 文件 \(英文\)
Azure Boards
Azure Key Vault 的金鑰、祕密與憑證概觀
Azure 監視器
Azure Pipelines
Azure Repos
使用 Azure DevOps 和 GitHub
提出問題 Microsoft Q&A | Microsoft Docs
取得社群支援 Azure DevOps - Microsoft Tech Community (英文)
追蹤 Microsoft Learn Microsoft Learn - Microsoft Tech Community (英文)
尋找影片 測驗整備區域
Microsoft Learn 節目

變更記錄檔

資料表理解要點:主題群組 (也稱為功能群組) 的字體為粗體,其後為每個群組的目標。 這份資料表會比較評測技能的兩種版本,而資料表中的第三個資料行則會描述變更範圍。

2023 年 10 月 31 日前的技能領域 截至 2023 年 10 月 31 日止的技能領域 變更
對象個人檔案 沒有變化
設定程序和通訊 設定程序和通訊 沒有變化
設定活動可追蹤性和工作流程 設定活動可追蹤性和工作流程 沒有變化
設定共同作業和通訊 設定共同作業和通訊 沒有變化
設計及實作原始檔控制 設計及實作原始檔控制 沒有變化
設計及實作原始檔控制策略 設計及實作原始檔控制策略 沒有變化
規劃及實作原始程式碼的分支策略 規劃及實作原始程式碼的分支策略 沒有變化
設定及管理存放庫 設定及管理存放庫 沒有變化
設計及實作組建和發行管線 設計及實作組建和發行管線 沒有變化
設計及實作管線自動化 設計及實作管線自動化 沒有變化
設計及實作套件管理策略 設計及實作套件管理策略 沒有變化
設計及實作管線 設計及實作管線 沒有變化
設計及實作部署 設計及實作部署 沒有變化
設計及實作基礎架構即程式碼 (IaC) 設計及實作基礎架構即程式碼 (IaC) Minor
維護管線 維護管線 沒有變化
制定安全性與合規性計畫 制定安全性與合規性計畫 沒有變化
設計及實作在自動化中管理敏感性資訊的策略 設計及實作在自動化中管理敏感性資訊的策略 沒有變化
將安全性與合規性掃描自動化 將安全性與合規性掃描自動化 沒有變化
實作檢測策略 實作檢測策略 沒有變化
設定 DevOps 環境的監視 設定 DevOps 環境的監視 Minor
分析計量 分析計量 沒有變化

2023 年 10 月 31 日前評量的技能

對象個人檔案

DevOps 工程師為開發人員或基礎結構系統管理員,這些人也具備與人員合作及使用程序及產品的主題專業知識,以在組織中持續傳遞價值。

此角色的責任包括設計和實作共同作業、程式碼、基礎結構、原始程式碼控制、安全性、合規性、持續整合、測試、交付、監視和意見反應的策略。

DevOps 工程師會與包括開發人員、網站可靠性工程師和 Azure 系統管理員在內的全方位小組合作。

DevOps 工程師必須具備在 Azure 中管理及開發的經驗,且在至少其中一個領域有擅長的技能。 他們應該熟悉 Azure DevOps 以及 GitHub。

技能一目了然

  • 設定程序和通訊 (10–15%)

  • 設計及實作原始檔控制 (15–20%)

  • 設計及實作組建和發行管線 (40–45%)

  • 制定安全性與合規性計畫 (10–15%)

  • 實作檢測策略 (10–15%)

設定程序和通訊 (10–15%)

設定活動可追蹤性和工作流程

  • 規劃及實作工作流程和意見反應週期的結構

  • 識別與工作流程相關的適當計量,例如週期時間、復原時間和前置時間

  • 將 Azure Pipelines 和 GitHub Actions 與工作項目追蹤工具整合

  • 實作開發所決定的可追蹤性原則

  • 將存放庫與 Azure Boards 整合

設定共同作業和通訊

  • 在 Azure Boards 中使用自訂儀表板來傳達可採取動作的資訊

  • 使用 Wiki 和程序圖等工具來記錄專案

  • 設定版本文件,包括版本資訊和 API 文件

  • 自動從 Git 記錄建立文件

  • 使用 Webhook 來設定通知

設計及實作原始檔控制 (15–20%)

設計及實作原始檔控制策略

  • 設計及實作驗證策略

  • 設計管理大型檔案的策略,包括 Git LFS 和 git-fat

  • 設計調整和最佳化 Git 存放庫的策略,包括純量和跨存放庫共用

  • 實作工作流程勾點

規劃及實作原始程式碼的分支策略

  • 設計分支策略,包括主幹型、功能分支和發行分支

  • 使用分支原則和分支保護來設計及實作提取要求工作流程

  • 使用分支原則和分支保護來實作分支合併限制

設定及管理存放庫

  • 將 GitHub 存放庫與 Azure Pipelines 整合

  • 設定原始檔控制存放庫中的權限

  • 設定標記以組織原始檔控制存放庫

  • 使用 Git 命令來復原資料

  • 清除原始檔控制中的資料

設計及實作組建和發行管線 (40–45%)

設計及實作管線自動化

  • 將管線與外部工具 (包括相依性掃描、安全性掃描和程式碼涵蓋範圍) 整合

  • 設計及實作品質和發行閘道,包括安全性和治理

  • 設計自動化的測試如何整合到管線中

  • 設計及實作完整的測試策略 (包括本機測試、單元測試、整合測試和負載測試)

  • 設計及實作 UI 測試

  • 實作工具的協調流程,例如 GitHub Actions 和 Azure Pipelines

設計及實作套件管理策略

  • 設計使用 Azure Artifacts、GitHub Packages、NuGet 和 npm 的套件管理實作

  • 設計及實作套件摘要,包括上游來源

  • 設計及實作程式碼資產和套件的相依性版本設定策略,包括語意化版本控制系統和日期型

  • 設計及實作管線成品的版本設定策略

設計及實作管線

  • 選取部署自動化解決方案,包括 GitHub Actions 和 Azure Pipelines

  • 設計及實作代理程式基礎結構,包括成本、工具選取、授權、連線和可維護性

  • 制定及實作管線觸發規則

  • 開發管線,包括傳統和 YAML

設計及實作作業執行順序的策略,包括平行處理原則和多階段

  • 開發複雜的管線案例,例如容器化代理程式和混合式

  • 設定及管理自我裝載式代理程式,包括虛擬機器 (VM) 範本和容器化

  • 建立可重複使用的管線元素,包括 YAML 範本、工作群組、變數和變數群組

  • 使用 YAML 環境來設計及實作檢查與核准

設計及實作部署

  • 設計部署策略,包括藍綠、Canary、通道、漸進式曝光、功能旗標和 A/B 測試

  • 設計管線以確保相依性部署順序可靠

  • 使用 VIP 交換、負載平衡器和輪流部署來規劃將部署期間的停機時間降至最低

  • 設計 Hotfix 路徑計畫以回應高優先順序的程式碼修正

  • 實作部署的負載平衡,包括 Azure 流量管理員和 Azure App Service 的 Web 應用程式功能

  • 使用 Azure 應用程式設定功能管理員來實作功能旗標

  • 使用容器、二進位和指令碼來實作應用程式部署

設計及實作基礎架構即程式碼 (IaC)

  • 建議應用程式基礎結構的設定管理技術

  • 實作應用程式基礎結構的設定管理策略,包括 IaC

  • 定義 IaC 策略,包括測試和部署的原始檔控制和自動化

  • 設計及實作環境所需的狀態設定,包括 Azure 自動化狀態設定、Azure Resource Manager、Bicep 和 Azure Automanage 機器設定

維護管線

  • 監視管線健康狀態,包括失敗率、持續時間和不穩定測試

  • 將管線的成本、時間、效能和可靠性最佳化

  • 分析管線負載以判斷代理程式設定和容量

  • 設計及實作管線成品和相依性的保留策略

制定安全性與合規性計畫 (10–15%)

設計及實作在自動化中管理敏感性資訊的策略

  • 實作及管理服務連線

  • 實作及管理個人存取權杖

  • 使用 Azure Key Vault、GitHub 祕密和 Azure Pipelines 祕密來實作及管理祕密、金鑰和憑證

  • 設計及實作在部署期間管理敏感性檔案的策略

  • 設計管線以防止敏感性資訊外洩

將安全性與合規性掃描自動化

  • 使用 GitHub 程式碼掃描、GitHub 祕密掃描、管線型掃描和 SonarQube 來自動分析原始程式碼

  • 將安全性掃描自動化,包括容器掃描和 OWASP ZAP

  • 使用 Mend Bolt 和 GitHub 相依性掃描來自動分析開放原始碼元件的授權、弱點和版本設定

實作檢測策略 (10–15%)

設定 DevOps 環境的監視

  • 使用 Azure 監視器來設定及整合監視

  • 設定監視工具並與其進行整合,例如 Azure 監視器和 Application Insights

  • 管理監視平台的存取控制

  • 設定管線事件的警示

分析計量

  • 使用 Application Insights 來檢查分散式追蹤

  • 檢查應用程式效能指標

  • 檢查基礎結構效能指標,包括 CPU、記憶體、磁碟和網路

  • 識別及監視商業價值的計量

  • 使用 Application Insights 來分析使用計量

  • 使用基本 Kusto 查詢語言 (KQL) 查詢詢問記錄