前言
- 寫一個軟件系統(tǒng)和建筑工程很類似茬底,如果基礎不牢固,結構性問題會暗中侵蝕建筑物的功能和完整性
- 基于AWS設計技術解決方案時穷当,如果忽視卓越操作提茁、安全性、可靠性馁菜、性能效率和成本優(yōu)化這五大支柱茴扁,交付一個能滿足你需求期望的系統(tǒng)可能就比較困難
- 如果把這五大支柱納入架構設計時的考量范圍,能夠幫助我們構建穩(wěn)定汪疮、高效的軟件系統(tǒng)峭火,從而有更多的精力投入其他方面的工作,例如業(yè)務功能需求
什么是AWS Well-Architected Framework智嚷?
AWS Well-Architected Framework可幫助云架構師為其應用程序構建安全卖丸、高性能、具有彈性和高效的基礎設施盏道∩越基于安全性、可靠性猜嘱、性能效率衅枫、成本優(yōu)化和卓越操作這五個基礎支柱,此框架為客戶和合作伙伴提供了一種評估架構的一致方法泉坐,并實施能夠在使用中擴展的設計为鳄。
五大支柱概覽
卓越操作
定義
卓越操作支柱側重于運行和監(jiān)測系統(tǒng)以提供業(yè)務價值,并不斷改進流程和程序腕让。關鍵主題包括:管理和自動化變更孤钦、響應事件以及定義標準以成功管理日常操作。
白皮書
https://d1.awsstatic-china.com/whitepapers/architecture/AWS-Operational-Excellence-Pillar.pdf
設計原則
- 使用代碼進行操作
- 為文檔做注釋
- 用高頻率纯丸、單一變更內(nèi)容(衅巍)、可回退的變更替代大批量的變更
- 持續(xù)改進變更流程
- 預見錯誤的發(fā)生
- 從所有操作錯誤中學習
最佳實踐
- 運維人員需要理解業(yè)務和客戶需求才能正確支撐業(yè)務
- 運維人員創(chuàng)建操作流程并在實踐中檢驗流程是否有效支持業(yè)務需要
- 運維人員需要通過采集指標來衡量業(yè)務需要是否達到要求觉鼻,得到滿足
- 業(yè)務場景俊扭、業(yè)務優(yōu)先級、客戶需求會不斷發(fā)生變化坠陈,在變化來臨是萨惑,需要能夠及時調(diào)整操作流程以適應改變
安全性
定義
安全支柱側重于保護信息和系統(tǒng)捐康。關鍵主題包括:數(shù)據(jù)的機密性和完整性、識別和管理誰可以進行哪些權限管理工作庸蔼、保護系統(tǒng)以及建立檢測安全事件的控制措施解总。
白皮書
https://d1.awsstatic-china.com/whitepapers/architecture/AWS-Security-Pillar.pdf
設計原則
- 強身份認證作為基礎
- 使系統(tǒng)具備可追溯能力
- 在不同層級上確保安全性
- 自動化安全性最佳實踐
- 靜止的和傳輸中的數(shù)據(jù)都要保護
- 提前為安全事故做好準備
最佳實踐
- 在設計系統(tǒng)之前,考慮誰可以使用它姐仅?怎么識別安全事故花枫?如何保障數(shù)據(jù)的完整性和可靠性?
- 需要指定詳細的并且經(jīng)過實踐驗證的安全事故響應流程掏膏,這對于減少商業(yè)損失和遵循監(jiān)管意義重大
- 定義AWS責任共擔模型劳翰,AWS與客戶分別承擔相應的責任
可靠性
定義
可靠性支柱側重于預防故障、快速從故障中恢復根據(jù)業(yè)務量動態(tài)調(diào)整資源以滿足業(yè)務和客戶需求的能力馒疹。關鍵主題包括:設置相關的基本要素佳簸、跨項目要求、恢復計劃以及我們?nèi)绾翁幚碜兏?/p>
白皮書
https://d1.awsstatic-china.com/whitepapers/architecture/AWS-Reliability-Pillar.pdf
設計原則
- 測試故障恢復流程行冰,演練異衬缃叮恢復方案
- 自動從異常中恢復
- 通過水平擴展提升服務整體可用性
- 停止猜測系統(tǒng)能力
- 通過自動化管理變更
最佳實踐
- 可靠性的達成,要求對系統(tǒng)各個方面進行監(jiān)控悼做、配置相應的告警策略疯特、管控變更、能夠從錯誤中自愈
- 考慮基礎底座的可靠性肛走,例如網(wǎng)絡帶寬
性能效率
定義
性能效率支柱側重于高效使用 IT 和計算資源漓雅。關鍵主題包括:根據(jù)工作負載要求選擇合適的資源類型和大小、監(jiān)測性能以及做出明智的決策以在業(yè)務需求發(fā)展或技術革新時維持效率朽色。
白皮書
https://d1.awsstatic-china.com/whitepapers/architecture/AWS-Performance-Efficiency-Pillar.pdf
設計原則
- 廣泛采用先進技術
- 全球范圍分鐘級可達
- 使用無服務器架構
- 頻繁進行實驗
- 理解機器邻吞?
最佳實踐
- 數(shù)據(jù)驅動,收集各個方面的數(shù)據(jù)葫男,從高層次的設計層面決定資源的規(guī)格
- 通過監(jiān)控發(fā)現(xiàn)性能效率異常以及時采取行動抱冷,循環(huán)檢視確保在云化過程中活得了收益
- 根據(jù)業(yè)務場景需求,適當權衡取舍梢褐,比如壓縮或緩存旺遮、降低一致性要求優(yōu)化性能
成本優(yōu)化
定義
成本優(yōu)化側重于避免不必要的成本。關鍵主題包括:了解和控制資金的使用盈咳、選擇最合適的資源類型和數(shù)量耿眉、分析一段時間內(nèi)的支出以及擴展以滿足業(yè)務需求而不超支。
白皮書
https://d1.awsstatic-china.com/whitepapers/architecture/AWS-Cost-Optimization-Pillar.pdf
設計原則
- 確定一個消費模型
- 度量整體的效率
- 停止在數(shù)據(jù)中心操作上支出
- 分析分類支出
- 相對于完全擁有服務的所有權鱼响,使用代理管理的服務以減少支出
最佳實踐
- 成本也是需要權衡的鸣剪,比如需要快速上線,過點、交付市場筐骇,提供新特性债鸡,把成本先放一放也不是不可以
- 違背了經(jīng)驗數(shù)據(jù)進行設計決策,總是想著以防萬一拥褂,可能會導致極大的資源浪費增加不必要的開銷
- 選擇合適規(guī)格的資源實例是成本控制的鑰匙娘锁,比如一個業(yè)務程序在小規(guī)格實例上需要跑5個小時,而在大規(guī)格的實例上只需要跑1個小時饺鹃,哪一種才是最高效的?
總結
AWS Well-Architected Framework提供了架構完善的五大支柱以及最佳實踐间雀,幫助我們基于AWS設計和操作可靠悔详、安全、性能成本高效的系統(tǒng)惹挟,從而有更多的精力投入其他方面的工作茄螃,例如業(yè)務功能需求。
More
卓越操作與可靠性连锯,卓越操作其實是為了降低運維過程中犯錯的可能归苍,或縮短因犯錯導致系統(tǒng)不可用的時長,從運維層面保障了系統(tǒng)的可靠性运怖。AWS架構完善五大支柱中的卓越操作與可靠性相關的設計原則和最佳實踐與Google的SRE中的許多思想(如監(jiān)控系統(tǒng)拼弃、變更管理、制定服務質量目標等)是一致的摇展。
安全性吻氧,作為一名開發(fā)人員,曾經(jīng)被測試提出不少安全問題咏连,類別五花八門:有橫向縱向越權問題盯孙、存儲/打印用戶敏感信息、文件目錄權限過大祟滴、系統(tǒng)使用弱密碼振惰、使用root權限啟動業(yè)務進程,引入帶有漏洞或存在法務風險的第三方軟件等垄懂。系統(tǒng)的安全性是重中之重骑晶,在實際工作中,我們通過安全設計埠偿、安全編碼以及安全測試保障系統(tǒng)的安全性達到要求透罢、符合地方法規(guī)。