營運卓越取捨
營運卓越透過實作明確的小組標準、瞭解責任和責任、關注客戶成果和團隊凝聚力,提供工作負載品質。 這些目標的實作植根於 DevOps,其建議將程式差異降至最低、減少人為錯誤,並最終增加工作負載的值傳回。 該值不只是根據工作負載元件所提供的功能需求來測量。 小組在努力改進方面所提供的價值也會加以衡量。
在工作負載的設計階段及其生命週期中,隨著持續改進步驟的採取,請務必考慮根據營運卓越設計原則和設計檢閱檢查清單中的建議,決策如何影響其他要素的目標和優化。 某些決策可能會有利於某些支柱,但對其他人構成取捨。 本文說明設計工作負載架構和作業時,工作負載小組可能會遇到的範例取捨。
營運卓越取捨與可靠性
取捨:複雜度增加。 可靠性會優先簡化,因為簡單設計可將設定錯誤降至最低,並減少非預期的互動。
安全部署策略通常需要應用程式邏輯與工作負載中的數據之間的一些向前和回溯相容性。 這增加了複雜性會增加測試負擔,並可能導致工作負載數據的複雜性或完整性問題。
高度分層、模組化或參數化基礎結構,因為程式代碼元件之間的互動複雜度,可能會增加意外設定錯誤的機會。
有利於作業的雲端設計模式有時需要引進其他元件,例如,使用外部組態存放區或在容器化應用程式平台中協調 Sidecar 部署。 額外的元件和新增的間接層會增加系統中的互動點,增加故障或設定錯誤的介面區。
專為獨立演進以支援敏捷式開發和裝載的工作負載元件,將相依性引入服務探索作為間接層。 服務探索可能缺乏變更的回應能力,而且故障可能難以診斷。
取捨:增加潛在的不穩定活動。 可靠性支柱鼓勵避免活動或設計選擇,以破壞系統穩定,並導致中斷、中斷或故障。
部署小型累加變更是降低風險的技術,但這些小型變更也預期也會更頻繁地傳遞給生產環境。 部署可能會使系統不穩定,因此隨著部署速率增加,這種風險也會增加。
以每周部署等速度計量來測量自己的文化特性,並使用自動化來加速以較快的速度導入變更,也可能在較短的期間內執行更多部署。
藉由減少控制和可觀察性表面的數目來簡化作業的密度,也會導致可用性風險增加,因為故障或設定錯誤會增加不穩定事件的影響半徑。
與安全性的卓越營運取捨
取捨:增加介面區。 安全性要素建議在元件和作業暴露方面減少工作負載介面區。 此縮減可將攻擊媒介降到最低,併產生較小的安全性控制和測試範圍。
圍繞工作負載並支援其作業的元件,例如自動化或自定義控制平面,也必須在一般安全性強化和測試的範圍內。
例行、臨機操作和緊急作業會增加與工作負載的聯繫點。 零信任方法會要求這些進程被視為攻擊媒介,而且必須包含在工作負載的安全性控制與驗證中。
系統的可觀察性平臺會收集有關工作負載的記錄和計量,這可以是重要的資訊洩漏來源。 因此,工作負載的安全性必須擴充,以保護數據接收免於內部和外部威脅。
建置代理程式、外部化設定和功能切換存放區,以及並存部署方法都會增加需要安全性的應用程式介面區。
小型累加變更或「取得目前、保持最新」工作所造成的部署頻率較高,會導致軟體開發生命週期中更多的安全性測試。
取捨:提高透明度的願望。 安全工作負載是以保護流經系統元件之數據的機密性的設計為基礎。
可觀察性平臺擷取所有類型的數據,以深入瞭解工作負載的健康情況和行為。 當小組嘗試在可觀察性數據中達到更高的精確度時,來源系統的數據分類控制,例如數據遮罩,不會延伸到可觀察性平臺的記錄和記錄接收的風險增加。
取捨:減少分割。 隔離存取和功能的關鍵安全性方法是設計強式分割策略。 此設計是透過資源隔離和身分識別控件來實作。
在共用計算、網路和數據資源中共置不同的應用程式元件,讓管理更容易反向分割,或讓角色型分割更難達成。 共置元件可能也需要共用工作負載身分識別,這可能會導致許可權過度指派或缺乏可追蹤性。
從統一記錄接收中從系統收集所有記錄,可讓查詢和建置警示變得更容易。 不過,這樣做也可以讓數據列式安全性更加困難或不可能,以便以必要的稽核控件處理敏感數據。
藉由減少角色及其指派的數據粒度,簡化屬性型或角色型安全性的管理,可能會導致許可權範圍不適當。
營運卓越取捨與成本優化
營運卓越支柱絕不會建議降低生產力或危及工作負載投資報酬率的活動。 似乎將焦點從傳遞活動轉移的建議納入工作負載和小組的長期最佳利益。 如果您的工作負載即將接近日落日期,則對觸發這些取捨的建議進行高度投資可能沒有意義。
取捨:增加資源支出。 工作負載的主要成本驅動因素是其資源的成本。 部署較少的資源、適當重設大小的資源,以及降低耗用量通常有助於降低成本。
實作安全部署做法,即使變更相對較小,可能會導致同時部署的資源數目增加。 這些模式需要部署應用程式或基礎結構元件的多個並行實例,以便以受控制的方式轉移流量。 此增加在使用不可變基礎結構方法的工作負載中更為明顯。
小組可能需要引進額外的工作負載元件,才能實作作業上對齊的雲端設計模式或工作負載自動化。 例如,為了支援部署靈活度,他們可能會新增閘道路由元件。 為了支援更好的組態管理,他們可能會新增外部組態存放區。 為了支援租使用者生命週期事件,他們可能會建置控制平面。 這些資源也會影響生產前環境的成本。
增加生產前環境的數目,透過隔離來改善開發和測試體驗,也會增加資源數目。 這些資源不會用來根據生產需求提供供應,因此會增加解決方案的成本。
在資源計數、SKU 和數據量方面,增加生產環境與生產環境的同位性,可改善品質保證程式。 成本隨著同位增加而增加。
雖然遙測數據不是直接資源,但若要啟用可觀察性平臺的有效性,則必須保存此數據。 大部分的作業數據存放區都有以擷取率和磁碟區組合為基礎的定價。 一般而言,隨著低延遲、高多樣性遙測量增加,成本也會增加。 對於多區域部署,這些作業數據接收預期會為每個區域部署,因此任何每個資源的成本都會成為因素。
取捨:減少專注於傳遞活動。 工作負載小組成員藉由有效率地執行符合其功能的工作來提升工作負載價值。
花時間建立和精簡健康且負責任的支持結構和事件回應的工作負載小組,為工作負載的使用者提供寶貴的服務。 隨著支援工作增加(例如正式通話輪替),通常是因為業務關鍵性的變化,這些活動的成本會增加。 這種成本增加可能是員工增加的結果,或者可以間接地以從傳遞活動轉向支援職能的注意力形式產生。
訓練是工作負載小組個人持續改進程式的重要部分。 此訓練在個人擴充期間可以是正式或自我導向。 隨著定型時間的增加,可供直接開發工作負載的時間量會減少。 當訓練不是以角色為基礎或特別與工作負載或其未來相關的時,訓練的投資就會減少。
標準化的例行作業工作,以保護工作負載的可靠性、安全性和效能效率,需要一段時間才能定義、精簡及執行。 這次不會直接花在傳遞上。 這些工作的一些範例包括完整的變更影響分析、變更控制程式、徹底測試,以及增加修補程式管理。 隨著這些任務的頻率、全面性或操作負擔增加,投入的時間也會增加。
取捨:增加工具需求和多樣性。 成本優化支柱建議減少工具蔓延、合併廠商,以及所有工具購買的正確大小方法。
工作負載小組購買工具和硬體,以支援在整個軟體開發生命週期 (SDLC) 期間執行的活動,包括規劃和設計、開發和測試和監視。 此空間中工具的市集正在成長。 工具會以通常對應至工具特性和功能的各種價格點來提供。 除了免費供應專案之外,這些工具會產生初始授權成本,可能是每個使用者、每部裝置或全網站。 它們通常需要持續維護合約。 可能需要建立新的廠商關聯性。 以下是與卓越營運原則相關聯的預期工具或硬體支出的一些範例:
- 需求和待辦專案管理
- 架構設計工具
- UI/UX 設計工具
- 程式代碼和資產裝載
- 程式代碼和低程式程式碼開發環境
- 自動化工具
- 開發和質量保證工作站
- 開發和部署管線
- 測試執行和追蹤
- 可檢視性工具
卓越營運取捨與效能效率
取捨:資源使用率增加。 效能效率支柱建議盡可能配置盡可能多的可用計算和網路,以符合工作負載的需求。
工作負載的可觀察性架構需要架構中的元件配置時間和資源,以建立、收集及串流記錄和計量。 這些數據點有助於確保能夠有效警示和監視可靠性、安全性和效能。 隨著檢測層級的增加,系統資源的壓力也會增加。
某些部署模型,例如藍/綠部署,工作負載可能會用於安全部署,可能會在生產應用程式平臺上引入並存部署。 這些部署需要先佔式調整,以提供足夠的供應以符合未來需求,或讓大部分休眠的部署保留一段時間才能支持復原。
取捨:增加延遲。 為了建立高效能工作負載,小組會尋找減少工作負載執行其工作所耗用的時間和資源的方法。
許多部署模型都需要使用網路由存取模式,這會造成延遲。 此延遲會根據相關流程的效能目標預算來繪製。
支援「隨著時間獨立變更」方法的一些雲端設計模式,以支援累加改善的理想,可能會因為額外元件的周遊而造成延遲。 網關、傳訊代理程式或反損毀層可以引進此延遲。
相關連結
探索其他要素的取捨: