發掘 DevOps

已完成

DevOps 是人員、程序及產品的結合,以為使用者提供持續性的價值傳遞。

一般來說,開發的目標是要更快提供更多功能,而作業的目標是要達成更好的系統穩定性。 DevOps 藉由使用經證實的最佳做法架構配合這些專業領域,以加快上市速度,同時改進系統穩定性。

對 Microsoft 而言,DevOps 包含整個軟體傳遞生命週期,從概念到在實際執行環境中執行的應用程式均涵蓋在內。

Diagram shows the DevOps cycle of Plan - Build - Continuous Integration - Deploy - Operate - Continuous Feedback

Microsoft 服務均適用的一個整體觀點

經過相當多的辯論、共同作業與改進之後,我們認同以下 DevOps 觀點適用於 Microsoft 服務:

  • 首先,我們發現了支援 DevOps 的四個要件,衍生自人員/流程/產品:文化、精簡產品、架構與技術。
  • 接著,我們發現了八大功能,包括每個功能或功能之間的各種做法:
    • 持續規劃
    • 持續整合
    • 持續傳遞
    • 持續作業
    • 持續品質
    • 持續安全性
    • 持續共同作業
    • 持續改善

有什麼新功能? 持續所有項目。 此流程是一個旅程,需要有成長思維才能持續演進及改進。

注意

請注意,每項功能都會列出範例做法;這並非詳盡的清單。

DevOps 功能與做法

以下是世界級 DevOps 做法的 DevOps 功能與做法分類法。

Diagram lists example practices for Continuous Planning: Strategy & portfolio planning, Lean product planning, Release planning, Sprint planning, Agile requirement management, Security requirement, Architecture design, Capacity planning, UX architecture design, Threat modeling, and Value stream mapping.

Diagram lists example practices for Continuous Integration: Behavior-driven development, Test-driven development, Shift-left testing, Microservices & container development, SAST, Secrets scanning, Unit test/code coverage, GIT pull request, Gated check-in, Build pipeline - parallel/serial.

Diagram lists example practices for Continuous Delivery: Release pipeline, Secure infra deployment, IaaS deployment, PaaS deployment, SaaS deployment, Shared services, Infrastructure-as-code, Change management, Configuration management, Release management, On-premises or cloud deployment, Security/quality end-to-end check with automation.

Diagram lists example practices for Continuous Operations: Site Reliability Engineering (SRE), Telemetry/monitoring, Application performance monitoring, Auto failover & scaling & DR, Modern Service Management, Secure access/app/data, High availability/security/cost and performance advisory, Secure Dev/Ops ChatOps, Shift-right testing, Secrets management, Governance.

Diagram lists example practices for Continuous Quality: Quality Requirements, Shift-lest testing, Governance and standards, Test automation, Compliance and Audits, and Shift-right testing.

Diagram lists example practices for Continuous Security: Security architecture, Identity and access management, Application security, Secure infrastructure, Secure data and Secure Operations, Governance and Compliance.

Diagram lists example practices for Continuous Collaboration: Culture collaboration, alignment and autonomy, Kanban collaboration, Wiki and Teams collaboration, ChatOps collaboration, and Feature team and SRE.

Diagram lists example practices for Continuous Improvement: Lead time and cycle time, Deployment frequency, Mean time to restore, Change fail percentage, Continuous feedback, Value stream mapping.

注意

請注意,每項功能都會列出範例做法;這並非詳盡的清單。

DevOps 優點

2019 年 DevOps 報告的狀態是以研究為基礎,為持續成長的 DevOps 產業提供最全面的觀點。

根據此報告,精英執行者:

  • 部署程式碼頻繁程度比低效執行者多 208 倍
  • 從認可變更成部署的前置時間,比低效執行者快 106 倍
  • 變更失敗率比低效執行者少 7 倍
  • 還原服務比低效執行者快 2,604 倍

Diagram shows how elite performers compare to low performers.

這些結果顯示,只要將重點放在 DevOps 價值,小組就不會以加快上市速度交換穩定性。 兩者可以同時達成。