隨著全球金融業者上雲的腳步加速,對於運營系統的要求也隨之增加。2024年4月3日,台灣發生規模7.2的強震,業界也再度掀起資安與備援的重要性討論。然而除了地緣政治的風險外,加上自然災害的因素影響下,金融業者營運備援的不同機房仍侷限在台灣的話,恐怕有不足以應付的潛在風險。因此,本篇的架構師專欄,我們將要從倫敦證券交易所的經驗來看,如何應用AWS的關鍵技術提升營運任性!
倫敦證券交易所從AWS「這個測試」開始增加營運彈性!
歷史悠久的倫敦證券交易所 (London Stock Exchange Group, LSEG),從1801年創立以來,不斷進行科技革新。作為全球金融市場的重要核心,倫敦證券交易所一直在尋找提高其科技基礎設施工作負載彈性的機會。因此與AWS攜手合作,採用混沌工程(Chaos Engineering)的形式,在雲端系統中模擬真實世界的故障情形,進而觀察其系統是否提高了彈性和可用性,從而減少風險,並幫助在部署到生產環境之前達到監管機構的合規要求。
在執行過程前,首先倫敦證交所採用 AWS Fault Injection Simulator (AWS FIS) 的工具進行混沌工程。AWS的混沌工程工具集成了多種故障注入工具,像是Chaos Mesh和Litmus Chaos,能夠同時針對 Amazon EC2、ECS、EKS和-RDS等服務故障注入,並且利用 Amazon CloudWatch 設置,設置停止條件作為保護措施。
為確保工作負載能夠在故障中保持運行,倫敦證交所首先在非生產環境中進行實驗,然後逐步遷移至生產環境中在真實負載下運行。 具體的實驗包括對EC2實例的丟失、主要RDS數據庫實例的故障轉移、網絡延遲和丟包、第三方依賴的失效等,這些實驗幫助驗證系統的彈性和自我修復能力。通過持續的混沌實驗,可以發現和解決工作負載中的缺陷,從而增強系統的可靠性和可用性。
AWS 混沌工程五步驟解析!帶您增強雲端架構韌性!
從上述的架構可以發現倫敦證交所制定了縝密的混沌工程來進行錯誤注入測試,以提升營運的韌性,而其實一般企業若想要進行混沌工程,可以透過以下五步驟執行:
決定需要演練哪些錯誤
IT部門團隊成員能夠針對過去的歷史事件,以及關鍵的任務,像是運行應用程式的Amazon EC2,或是資料庫重啟等,來決定使用AWS Fault Injection Simulator時要佈建什麼樣的環境。
針對錯誤給予優先順序
考慮到這些錯誤發生的頻率,以及這些錯誤對於整體應用程式工作所帶來的影響,進而排列實驗的優先順序。
採用混沌工程的持續韌性的循環模式
接著則是採用這個混沌工程的「持續韌性循環模式」,首先必須定義應用程式與工作環境的「穩定狀態(Steady State)」。以金融業為例,支付系統的穩定狀態可以被定義為99%的成功率以每秒速度處理300次的交易。
接著定義這些穩定狀態如何對錯誤進行反應,舉例來說,假設主要的Amazon RDS 關聯式資料庫的實例無法運作,則當中正在運行的供應鏈系統將會轉到其他備用的RDS資料庫,來維持少於一分鐘的讀寫錯誤。這就是針對穩定狀態「如何對錯誤進行反應」來定義出的假設,並且隨著企業應用的情況隨之調整。
進行FIS的實驗
有了清楚的應用程式健康狀態,以及錯誤反應的定應後,接著開始使用FIS的工具進行定期試驗,並且針對應用程式的反應進行架構韌性的調整與設計。除此之外,企業更可以將AWS FSI的工具融入到 Amazon CodePipeline 當中進行CI/CD流程的DevOps工作流中。
定期檢驗混沌工程的成效
所有的實驗結果資料,後續可以再進行分析,以確保整體的混沌工程符合企業營運韌性增強的目標。
透過AWS FSI的實戰演練,加上混沌工程的各項步驟,引領倫敦證交所的資訊團隊佈建更加具備韌性的雲端營運架構。而台灣金融業目前也正面臨上雲的各項挑戰與契機。儘管目前有相關法規研擬金融業上雲的規範,但是在隨著AWS雲端資料落地,且在未來即將在台灣推出「區域」的基礎設施,未來在AI蓬勃發展的時代下,不僅讓金融業者享有雲端運算的優勢,更能夠透過混沌工程與錯誤演練劇本,全面提升雲端的安全性。