所有企業都面臨著越來越多的IT系統挑戰。例如,持續增加的遠程系統調用、日益復雜和分布式的系統,以及系統功能的頻繁更新等都會增加系統中斷的風險。
企業遷移到云端可以大大降低這種風險。云服務提供商規模化的運營方式,讓其在基礎設施韌性方面持續深耕。在亞馬遜云科技,我們從一開始就在基礎設施、服務設計與部署、運營模式和機制中將韌性考慮其中。例如,亞馬遜云科技擁有99個可用區(截至2023年3月),由部署在世界各地的數據中心組成,可以承受幾乎任何類型或規模的中斷沖擊。
亞馬遜云科技為客戶提供了可靠的基礎設施,讓客戶構建和運行他們的應用。但同時客戶也需要確保運行在基礎設施之上的應用同樣具有韌性。下面三種方法可以幫助企業提高韌性。
1.盡可能擴大自動化范圍
根據Uptime Institute 的數據,大約70%的數據中心和服務中斷是由人為錯誤造成的。(我預測這個比例會更高,這也是亞馬遜云科技如此專注于自動化的原因。)因為手動操作會帶來風險,為此從備份到測試需要盡可能地自動化,自動化是創建韌性架構的關鍵。位于馬里蘭州農村地區的一家獨立醫院CalvertHealth, 在將其應用恢復系統遷移到亞馬遜云科技后也意識到這一點。
以前,電子健康記錄的數據備份是在企業數據中心服務器上手動管理的,這些記錄對于患者的護理至關重要。恢復時間目標(RTO)用于衡量中斷和恢復服務之間的最大允許時間,這一數值曾為48至72小時。CalvertHealth將其應用恢復系統遷移到亞馬遜云科技后,RTO降至兩小時以下,縮短了97%。
在部署之前識別和解決代碼中的問題,也是構建高可用性、高韌性應用的重要組成部分。手動審查依賴于審查人員的專業知識和識別潛在問題的能力。但是,借助機器學習(ML)加持的代碼審查工具,企業可以實現這一過程的自動化,甚至還能優化應用性能。
Cognizant是世界領先的專業服務提供商之一,它使用亞馬遜云科技的自動化代碼審查功能來幫助開發和運營團隊主動識別和解決問題,并確保其部署的性能、安全性和合規性超出了來自不同行業和地區的客戶的要求。
2.持續測試來應對未知
持續測試是工程師理解系統如何應對未知情況的方法。實現這個目標的做法之一是故意搞“破壞”。這被稱為“混沌工程”,由Netflix開創。
通過這種方法,企業能夠執行故障注入實驗,幫助團隊營造真實世界所需的條件,來發現分布式系統中難以甄別的隱藏錯誤、盲點和性能瓶頸。
自21世紀初以來,亞馬遜一直在不會對客戶產生影響的精準控制的情況下,有意注入故障。這提高了我們的應變能力,確保我們為最壞的情況做好了準備。如果我們能觸發罕見事件,并更頻繁地調整應對措施,那我們就做好了準備。
另一種流行的測試方法是韌性“游戲日”(game days),它通過模擬一個失敗或其他事件來測試系統、流程和團隊的響應。這種方法的目的是盡可能逼真地演習如果異常事件真的發生,團隊會采取的行動。企業可以在亞馬遜云科技中使用其生產環境的完整副本進行游戲日演練。
3.統一可觀測性指標
了解系統的運行情況對實現卓越的運營和韌性至關重要。企業不斷收集和分析應用數據,才能更快地檢測和解決應用可用性和性能方面存在的問題,從而改善最終用戶的體驗。但隨著應用復雜性的日益增加,問題出現時很難快速定位并加以解決。
例如,Docebo是一家全球電子學習技術供應商,他們的開發人員在遇到問題時往往會花上幾天時間進行故障排除。Docebo使用亞馬遜云科技的多種分析服務,將其所有日志記錄和跟蹤數據進行結合,創建了單一事實來源。為此,公司將故障排除時間縮短了90%,修復錯誤的時間從70%-80%減少到15%以下。過去需要幾天才可以完成的工作現在只需要幾分鐘。
行而不輟,未來可期
IT韌性是一段無盡之旅。新技術、新威脅和新的處事之道層出不窮。這就是亞馬遜云科技不懈努力改進基礎設施、服務設計、運營模式和機制,持續加強與發展云設施韌性的原因。亞馬遜云科技將持續為客戶提供廣泛、深入的架構及運營最佳實踐服務、工具和指導,為他們的韌性之旅提供支持。