共用方式為


DevOps 考慮

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

什麼是DevOps

DevOps 是人員、流程和技術的結合,可為開發(開發)和作業(ops)提供持續的價值。 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 技術範例包括:

  • 規劃: Atlassian Jira、Atlassian Trello、Azure Boards、GitHub
  • 持續整合 (CI) 和測試: Atlassian Bitbucket、Azure Repos、GitHub Repos、npm、NuGet、Selenium、SmartBear Cucumber、SonarSource SonarQube、Zed 攻擊 Proxy
  • 持續傳遞(CD): Atlassian Bamboo、Azure Pipelines、GitHub Actions、Jenkins、Octopus Deploy、Perforce Puppet、RedHat Ansible
    • 基礎結構即程序代碼: Bicep、Pulumi、Terraform
    • 啟動載入:ArgoCD GitOps、Flux GitOps、Progress Chef、PowerShell Desired 狀態設定 (DSC)
  • 作業:Azure 自動化、Azure 監視器、CISCO Splunk、Grafana、Microsoft Power BI
  • 共同作業和意見反應: Atlassian Confluence、Azure DevOps Wikis、GitHub 討論區、GitHub Wikis、Microsoft Teams、Slack、Stack Overflow

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

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

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

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

後續步驟