Share via


DevOps 考量

本文提供 Azure 登陸區域中 DevOps 的考慮和建議。

什麼是 DevOps

DevOps 是人員、流程和技術的聯集,可為開發 (開發) 和作業提供持續價值, (作業) 。 DevOps 方法鼓勵小組共同作業建立可重複的程式,以協助組織有效率且大規模地運作。

在 Azure 登陸區域的內容中,DevOps 會成為架構,可引導小組 (或小組) 負責整個 Azure 登陸區域生命週期管理的區域,例如:

  • 如何自我組織並定義與其他小組的界限,以達到自主與治理之間的適當平衡
  • 如何持續發展 Azure 登陸區域架構設計 (Conway 法律)
  • 如何規劃、排定優先順序並逐一查看設計架構的實作
  • 如何實作 Azure 登陸區域程式碼的版本控制、持續整合和持續部署
  • 如何操作和回應您擁有之系統和平臺的事件
  • 您套用至 Azure 登陸區域布建和自我修復的自動化層級
  • 如何以敏捷、以結果導向的方式與組織中的其他小組共同作業
  • 如何建立安全性、品質、使用者為中心的持續學習文化

您在檢閱雲端作業模型時所做的決策可能會影響您使用 DevOps 架構的方式。

DevOps 設計考慮

  • 定義 您的 DevOps 架構,或使其符合組織的 DevOps 和雲端採用策略。 包含 DevOps 的定義,以及小組必須遵循的原則和做法。 請確定您將 DevOps 策略連線到您的商務策略。

  • 建立 讓小組改善其 DevOps 效能的計量。 高效能小組會使用假設來測試其想法、測量假設的運作方式,然後視需要進行變更。 DevOps 的最終意圖是改善部署頻率、平均套用變更的時間,或還原降級服務的時間等層面。 您必須設計所有這些計量,以最終影響整體商務效能。

  • 決定您的小組應根據目前技能實作的 DevOps 做法 ,並設計藍圖以累加方式套用新的做法,以協助小組改善其 DevOps 計量。 投資於工程能力和資源非常重要。

  • 決定您的小組應該用來實作 DevOps 做法的 DevOps 工具鏈 。 請確定工具與您的整體 DevOps 策略一致,以避免異質 DevOps 生態系統的案例增加 Azure 登陸區域或工作負載部署的複雜性。

  • 評估您實作的 DevOps 做法和 DevOps 工具對 Azure 登陸區域設計的效果。

  • 建立整備計畫以持續拓展小組的技能。 DevOps 模型的一般應用程式不會立即建立可用的 DevOps 小組。

  • 決定最符合您組織 DevOps 策略和雲端作業模型的小組拓撲,並建立小組之間的明確界限、責任和相依性。

  • 決定負責 Azure 登陸區域的小組如何與您的組織中的其他小組共同作業,以擷取新的 Azure 登陸區域需求,以更新設計和實作、解決事件、將相依性降至最低,以及符合商務優先順序。

DevOps 建議

下列各節包含可協助您在組織內實作 DevOps 架構的建議。

定義 DevOps 架構

若要建立 DevOps 架構,請考慮使用已經可用的架構,以一組預先定義的經實證做法開始:

定義 Azure 登陸區域管理的 DevOps 做法

請考慮 Azure 登陸區域的下列 DevOps 做法:

規劃 DevOps 實作旅程

定義 DevOps 實作旅程,並符合組織的 雲端採用計畫

  • 判斷您的小組目前在下列領域中的位置:
  • 使用組織的雲端採用計畫來為您的小組定義所需的模型。
  • 建立反復藍圖,以反復且累加模式實作所需的模型,以符合組織的 轉換時程表

實作所需的 DevOps 計量

識別您將用來測量小組 DevOps 效能的計量。 使用計量來推動小組中與 業務成果連線的所需習慣。 建立計量,讓您的小組測量對活動的影響。 讓所有計量都能看見,因為透明度可提升信任並推動與組織目標的一致性。

測量 DevOps 效能以改善商務影響的計量範例包括:

  • 業務成果:

    • 使用 目標和關鍵結果 作為工具,將小組從「輸出」思維和「結果」思維移出。 例如,您可以使用已針對部署至 Azure 的原則數目改善其合規性評等的工作負載數目。
    • 客戶或終端使用者滿意度。 範例包括 NET Promoter Score (NPS) 、問卷、面試。
    • 業務成長。 範例包括提高獲利率、增加營收,以及新的營收來源取得。
    • 人員計量。 範例包括 Employee Net Promoter Score (eNPS) 、使用率、保留和滿意度。
    • 成本。 例如,您可以使用降低成本。
  • 軟體傳遞效能:

    • 變更的前置時間、錯誤修正、新功能或任何其他變更所需的時間,從概念到部署到生產環境。
    • 部署頻率,程式碼每天的部署會變更為生產環境。
    • 平均還原時間,在事件發生後還原生產環境中服務所需的時間。
    • 變更失敗百分比,生產 (的變更百分比,例如導致失敗的組態變更) 。
  • 品質:

    • 瑕疵逸出率,您的終端使用者所識別的瑕疵品數目。
    • 非計劃性工作或重新工時,執行非計劃性工作或重新工時所花費的時間百分比。
    • 作用中 Bug,尚未修正的錯誤數目。
    • 程式碼健康情況,尚未經過單元測試的程式碼百分比。

定義 DevOps 技術生態系統

您選擇要管理 Azure 登陸區域生命週期的 DevOps 工具鏈會影響:

  • 實作 DevOps 原則和做法的策略
  • DevOps 生命週期的安全性考慮
  • Azure 登陸區域生命週期管理的整體架構設計

使用您先前定義的 DevOps 架構 來識別每個 DevOps 程式要使用的工具。 選擇最適合您小組需求的 DevOps 技術,但尋找一個平衡,可讓您在整個組織中達成標準化,但避免在 DevOps 生態系統中產生太多複雜度或異質性。

跨不同 DevOps 階段的 DevOps 技術範例包括:

  • 規劃:Azure Boards、GitHub、Atlassian Jira、Trello
  • 持續整合:Azure Repos、GitHub Repos、Atlassian Bitbucket、SonarQube、Selenium、Cucumber、OWASP ZA、NuGet、npm
  • 持續傳遞:Azure Pipelines、GitHub Actions、Bicep、Terraform、Jenkins、Atlassian Bamboo、RedHat Ansible、Chef、Puppet
  • 操作:Azure 監視器、Azure 自動化、Microsoft Power BI、Grafana、Splunk
  • 共同作業和意見反應: Azure DevOps Wikis、GitHub Wikis、GitHub 討論區、Microsoft Teams、Slack、Confluence、Stack Overflow

下圖顯示使用 Azure DevOps 工具鏈選取的範例 DevOps 架構:

使用 Azure DevOps 工具鏈選取的 DevOps 架構圖表。

下圖顯示使用 Azure DevOps 和 GitHub 工具鏈選取的範例 DevOps 架構:

使用 Azure DevOps 和 GitHub 工具鏈選取的 DevOps 架構圖表。