Google Cloud 架構完善架構的可靠性支柱提供原則和建議,協助您在 Google Cloud中設計、部署及管理可靠的工作負載。
本文適用於雲端架構師、開發人員、平台工程師、管理員和網站可靠性工程師。
可靠性是指系統在定義的條件下,持續執行預期功能並維持不間斷服務的能力。確保穩定性的最佳做法包括冗餘、容錯設計、監控和自動復原程序。
復原能力是穩定性的一環,是指系統在發生故障或意外中斷時,能夠維持效能並從中復原的能力。Google Cloud 功能 (例如多區域部署、自動備份和災害復原解決方案) 有助於提升系統的復原能力。
可靠性對雲端策略至關重要,原因如下:
- 盡量縮短停機時間:停機可能會導致收益損失、生產力降低,以及聲譽受損。彈性架構可確保系統在發生故障時能繼續運作,或從故障中有效復原。
- 提升使用者體驗:使用者期望與技術互動時能順暢無礙。彈性系統有助於維持一致的效能和可用性,即使在需求量大或發生意外問題時,也能提供可靠的服務。
- 資料完整性:故障可能會導致資料遺失或毀損。彈性系統會實作備份、備援和複製等機制,保護資料並確保資料準確且可存取。
- 業務持續性:貴商家仰賴技術來執行重要作業。彈性架構有助於確保在發生災難性故障後,業務功能仍能持續運作,不會受到重大干擾,並能迅速復原。
- 法規遵循:許多產業對系統可用性和資料保護都有法規要求。彈性架構可確保系統維持運作和安全,協助您符合這些標準。
- 降低長期成本:彈性架構需要前期投資,但彈性有助於隨著時間推移降低成本,因為彈性可避免代價高昂的停機時間、避免反應式修正,並提高資源使用效率。
組織思維
如要確保系統穩定可靠,您需要擬定計畫並建立策略。這項策略必須包含教育訓練,以及優先處理可靠性問題的權限,同時兼顧其他計畫。
明確指出整個機構都必須負責確保可靠性,包括開發、產品管理、營運、平台工程和網站可靠性工程 (SRE)。即使是行銷和銷售等以業務為主的群組,也可能影響可靠性。
每個團隊都必須瞭解自家應用程式的可靠性目標和風險。團隊必須遵守這些規定。可靠性和一般產品功能開發之間的衝突必須優先處理,並視情況上報。
從整體角度規劃及管理可靠性,涵蓋所有職能和團隊。建議您設立卓越雲端中心 (CCoE),並納入可靠性支柱。詳情請參閱「透過卓越雲端中心,最佳化貴機構的雲端歷程」。
可靠性重點領域
設計、部署及管理可靠系統時執行的活動,可歸類為下列重點領域。這個支柱中的每項可靠性原則和建議,都與其中一個重點領域相關。
- 範圍界定:如要瞭解系統,請詳細分析其架構。您需要瞭解元件、元件的運作和互動方式、資料和動作在系統中的流動方式,以及可能發生的錯誤。找出潛在的失敗、瓶頸和風險,協助您採取行動來降低這些問題。
- 觀察:為避免系統故障,請導入全面且持續的觀察和監控機制。透過這項觀察結果,您可以瞭解趨勢並主動找出潛在問題。
- 回應:為減少失敗造成的影響,請適當回應並有效率地復原。自動回覆也有助於減少失敗造成的影響。即使經過規劃和控管,仍可能發生故障。
- 學習:從每次體驗中學習,並採取適當行動,避免失敗再次發生。
核心原則
架構完善架構可靠性支柱的建議,會對應至下列核心原則:
- 根據使用者體驗目標定義可靠性
- 設定合理的可靠性目標
- 透過資源備援機制建構高可用性系統
- 善用水平擴充性
- 使用可觀測性偵測潛在故障
- 設計可優雅降級的應用程式
- 執行從故障狀態復原的測試
- 執行資料遺失復原測試
- 進行詳盡的事後檢討
貢獻者
作者:
- Laura Hyatt | Enterprise Cloud Architect
- Jose Andrade | 企業基礎架構客戶工程師
- Gino Pelliccia | 首席架構師
其他貢獻者:
- Andrés-Leonardo Martínez-Ortiz | 技術專案經理
- Brian Kudzia | 企業基礎架構客戶工程師
- Daniel Lees | 雲端安全架構師
- Filipe Gracio 博士 | 客戶工程師
- Gary Harmson | 首席架構師
- Kumar Dhanagopal | 跨產品解決方案開發人員
- Marwan Al Shawi | 合作夥伴客戶工程師
- Nicolas Pintaux | 客戶工程師、應用程式現代化專家
- Radhika Kanakam | Cloud GTM 資深專案經理
- Ryan Cox | 首席架構師
- Samantha He | 技術文件撰稿者
- Wade Holmes | 全球解決方案總監
- Zach Seils | 網路專員