卓越營運設計原則
本文翻譯自:Microsoft 發布 Operational excellence design principles
原文連結:https://github.com/MicrosoftDocs/well-architected/blob/main/well-architected/operational-excellence/principles.md
翻譯日期:2024-12-27
「良好架構框架」(Well-Architected Framework) 其中一項原則(pillar)「卓越營運」(operational excellence),其核心是透過標準化工作流程與團隊凝聚力,確保工作負載(workload)的品質,稱為DevOps 實踐。
卓越營運這個原則定義了開發實作、可監測性與發行版本管理的作業流程,目標是將流程差異、人為錯誤的機會和對客戶服務中斷降到最低。若要評估您的營運健康狀態,請從以下問題開始著手:
-
您是否依照技術領域的規範執行營運系統作業?
-
客戶使用工作負載時,是否對於工作負載最終產出效果擁有最大的可預期性?
-
您如何從經驗與收集到的資料中學習,以持續改善系統?
沒有明確的權責劃分或管理時,工作負載作業可能會演變成一團亂。在此狀況中, 團隊營運系統通常會事倍功半,導致使用者體驗不佳,而且處理問題的方式通常只能滿足短期目標,長期效益仍必須透過持續評估與策略性投資來實現。
設計原則的目的,是在營運策略上指引您考量如何應對根本原因,而不僅僅是緩解癥狀。從建議的方法開始,然後觀察哪些有效,哪些無效,找出需要改善的地方。制訂策略後,繼續使用卓越營運設計檢查清單來推動行動。
工作負載的營運要求與其業務要求一樣重要。高效率的流程可確保工作負載實現業務成果,並且符合組織內外部的合規性,而高效率流程的關鍵在於找到可重複性與一致性。卓越營運的目標是以正確的方式,做正確的事,並團隊合作解決正確的問題。
如果您實現卓越營運目標,即使遭遇任何變化,系統工作負載仍會以可靠與可預測的狀態運作。相反地,未能達成卓越營運要求,可能會導致部署失敗、使用者體驗不一致,以及成本增加等問題,這些問題原本都可以透過適當規劃與簡化運作而避免。
接納 DevOps 文化
目標:讓開發與營運團隊能夠透過共同協作、分擔權責的心態努力合作,以持續改善系統設計與流程。
DevOps 是一個實踐社群,透過多樣的觀點與技術來實現同一項使命。團隊必須營造一個共享知識的協作環境而非各自孤立學習。使用共享的機制,努力克服資源方面的限制。
良好的 DevOps 文化特性會在共同責任中萌芽茁壯。開發與營運團隊設定目標與優先順序時,應儘量貼近客戶期望,並牢記業務重點。開發團隊應該讓營運團隊有機會反應意見,以便推動上游任務改善,並使其他團隊一併受益。
相對地,營運團隊會負責藉由共享資源與反饋意見,使開發團隊在業務中獲得成功。 同時,DevOps 做法會明確劃分每個團隊的權責界線。無論應用程式在哪執行,工作負載團隊都該對其負責。
DevOps 改善營運任務,使其具有效率但不會過於繁重。為了充分發揮 DevOps 的優勢,DevOps 文化應該透過技術改善流程,並提供流程促使組織中的人員溝通透明化。
| 方法 | 效益 |
|---|---|
| 使用常見系統與工具推動協作環境,方便溝通與追蹤進度。 | 常見工具與流程可以實現溝通透明化。讓開發與營運團隊都能掌握各種環境的情況、常見的支援問題以及整體挑戰和成功。團隊應熟悉發生事件時的處理流程與步驟。共享待辦項目(backlog),可以更容易釐清開發新功能或修復錯誤等作業的優先順序。 |
| 在整個開發週期中建立持續學習與實驗思維。 支援跨團隊知識共享,並維護文件供重複使用。進行對事不對人(不責難)的分析(blameless analysis)並在發布後或事件後回顧檢驗。 | 透過 A/B 測試與驗證概念等這類實驗機制,你可以 鼓勵創新,同時節省成本。透過協作與共享知識,讓團隊精通設計方法、工具與流程。在專案結束後展開回顧,也有助於識別需要改善的面向。 |
| 採用經過實證的業界敏捷式做法,聚焦於行動最佳化。尋找在流程作業中「左移」(shift left)的機會,以取得手動和自動化流程、部署與品質控管做法,以及可監測性的機會。 | 敏捷式開發實務會縮短發布生命週期,這正是商業價值的指標。儘早偵測、解決並預防問題,通常比較不會干擾流程。 |
| 為所有開發與營運作業制訂標準流程,並定期加以審查與驗證。這些程序含日常任務、帶外流程(out-of-band processes)、緊急演練與緊急情況、工具選擇、監測程序、培訓計畫,甚至是對利害關係人的溝通與資訊揭露。做決策必須有意識且明確。 | 訂定標準能增加營運的可預期性,並使流程與實踐具可擴展性。驗證標準是找出改善點的好方法。透過定期演練為緊急情況與復原情況做好準備。精確執行並進行治理,以防止異常情況發生,導致風險。 |
| 善用具有專業技能與豐富經驗的集中式營運團隊。 | 對營運作業與資源有效使用而言,共享資源都具有成本效益。雖然您管理自己的工作負載,但集中式營運團隊可以協助您掌握跨職能技能,例如事件管理、主動監測視角以及可信任的外包專業。 |