測驗 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) 查詢詢問記錄