Successfully reported this slideshow.
Your SlideShare is downloading. ×

災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 47 Ad

災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)

Download to read offline

Date: 2020/01/08
AWS reInvent 2019 - reCAP Taipei
Related: https://rickhw.github.io/2019/09/09/AWS/Whitepaper-Using-AWS-For-Disaster-Recovery/
https://aws.amazon.com/tw/events/reinvent-recap-taipei/

Date: 2020/01/08
AWS reInvent 2019 - reCAP Taipei
Related: https://rickhw.github.io/2019/09/09/AWS/Whitepaper-Using-AWS-For-Disaster-Recovery/
https://aws.amazon.com/tw/events/reinvent-recap-taipei/

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery) (20)

Advertisement

More from Rick Hwang (20)

Recently uploaded (20)

Advertisement

災難演練 @ AWS 實戰分享 (Using AWS for Disaster Recovery)

  1. 1. TAIPEI 開發者交流之夜 1
  2. 2. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sr. Manager / 91APP 義工 / SRE Taiwan 不是你選擇那一刻,而是那一刻選擇你 災難演練 @ AWS 實戰分享 Rick Hwang 2 2020/01/08
  3. 3. 一、讓團隊動起來 二、系統與團隊 三、全面啟動 四、得到 Agenda 3
  4. 4. ● Sr. Manager @ 91APP ● 經營管理 ● Cloud / AWS ● DevOps / SRE ● Distributed Systems ● 音樂 吉他 鍵盤 編曲 ● 哲學 科幻 金庸 喇賽 ● Complete Think、喝咖啡聊音樂、 譯著:分散式系統設計 4 Rick Hwang
  5. 5. 社群以讀書會形式,固定每兩週一 次進行,包含職涯規劃、事件處理、 可靠性工程、Cloud Native、持續交 付 … 等主題。過去三年讀書會共讀 了 SRE、持續交付、深入頗析 Kubernetes 三本書。 5 SRE Taiwan https://www.sre.tw/ https://study-area.sre.tw/
  6. 6. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 讓團隊動起來 Top to Down 6 計畫 準備 準備 再準備 執行
  7. 7. 2019H2 災難演練計畫 7 業務 目標 系統 架構
  8. 8. ● 六小時 內把 核心業務系統 從 東京 遷移到 奧勒岡 ● 核心業務: ○ Mobile APP 及 客戶官網 可正常瀏覽 ○ 確認 首頁、商品頁、分類頁 ○ 確認 會員、購物車、完成結帳、成立訂單 ○ 確認 登入後台、查詢到該筆訂單 災難演練 業務目標 8
  9. 9. 9 業務目標 系統架構 核心功能 RTO RPO 服務範圍 協作團隊 成本結構 執行計畫
  10. 10. DR in Regional Level 10 Taipei HQ Tokyo ap-northeast-1 Oregon us-west-2
  11. 11. 成 本 復原時間 低 高 長 短 Backup & Restore Pilot Light Warm Standby Multi Sites DB Replication or Batch Single APP Server Standby Single Stack Set Standby Full Stack Set Standby 災難還原策略的成本結構與復原時間 https://rickhw.github.io/ 11
  12. 12. 12 航空界有一個黑暗的祕密, 就是飛航安全通常得靠發生 空難才能提升,本系列要調 查著名的空難事件,找出出 錯的關鍵和原因。
  13. 13. 2019/06/18 日本晚間傳 6.8 規模強震 各電視台中斷節目插播地震速報 2020/01/02 金正恩 2020 元旦揚言有「新戰略武器」,要美國付出代價 東北亞天然災害、國際局勢 13
  14. 14. ● 向上溝通 ● 演練目標 ● 時程規劃 ● 進度掌握 ● 團隊溝通 ● 各系統負責人訪談 ● 確認各系統還原方 式 ● 擬定各系統還原計畫 ● 盤點與執行演練前置作業 ● 確認還原方式 ● 確認當天流程 ● 確認資源需求 ● 演練費用評估 2019/08 2019/09 2019/10 2019/11 2019/12 ● 站立會議 ● 執行預演 ● 執行演練 ● 報告整理 14 計畫 準備 準備 再準備 執行 準備雙十一 年度計畫 成立工作小組,擬訂執行計畫 雙十一 雙十二 公開說明會
  15. 15. 15
  16. 16. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 系統與團隊 Conway’s Law 16 ● 向上溝通 ● 確認演練目標 ● 團隊溝通 ● 時程規劃 ● 各系統負責人訪談 ● 確認各系統還原方式 ● 擬定各系統還原計畫 ● 盤點與執行演練前置作業 ● 確認還原方式 ● 確認當天流程 ● 確認資源需求 ● 演練費用評估 2019/08 2019/09 2019/10 2019/11 2019/12 ● 站立會議 ● 執行預演 ● 執行演練 ● 報告整理 計畫 準備 準備 再準備 執行
  17. 17. 17 300+ 40+ 200+ 機器 服務 團隊 / 個數 / 個 / 人 複雜度過高 溝通成本高
  18. 18. 18
  19. 19. ● 六小時 內把 核心業務系統 從 東京 遷移到 奧勒岡 ● 核心業務: ○ Mobile APP 及 客戶官網 可正常瀏覽 ○ 確認 首頁、商品頁、分類頁 ○ 確認 會員、購物車、完成結帳、成立訂單 ○ 確認 登入後台、查詢到該筆訂單 災難演練 業務目標 (Again) 19
  20. 20. Ingress API Gateway Proxy Load Balancers 服務依賴與邊界 20 K8s Platform ERP WebStore OSM Batch Tracking CMS Search Engine Notification Service Search API Loyalty Payment iOS Android Desktop Jenkins GitLab Message Queue / AM / CM
  21. 21. 21 WebStore Data:Database、DynamoDB、S3 OSM Kubernetes Cluster、Message Queue Config、Artifact Management、Gitlab Batch Ingress: Proxy、API Gateway、CloudFront、ELB Payment Infra Data APPs ERP Networking (VPC)、AAA、DC Search CMS Loyalty Compute VM Provisioning、Container Images
  22. 22. 22 App Images with Semantic Versioning Hardware / OS Version Linux Tools Windows Features 服務縱深與分工 - VM Based (Windows / Linux) Infra 建置 Infra Team Application 部署 各服務的團隊 Artifact Repository Config Config
  23. 23. 23 Container Images Hardware Kubernetes Platform 服務縱深與分工 - Container-Based Artifact Repository Config Config Infra 建置 Infra Team Application 部署 各服務的團隊
  24. 24. 24 30+ 10+ 30+ 機器 服務 團隊 / 個數 / 個 / 人 實際動員資源、範圍
  25. 25. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Divide and Conquer 25
  26. 26. 訪談:找團隊 (服務) 的痛點 ● 協助釐清系統架構 ● 釐清服務邊界、服務依賴,重 疊的怎麼辦? ● 找到執行的痛點,不外乎 ○ 配置管理 ○ 資料同步 ○ 環境建置 ○ 部署流程 ● 建立溝通默契與方式,讓成 員更知道彼此 ● 找到 DoD,如何測試? 26
  27. 27. 27 如何測試? Internal DNS demo-shop.91app.com Service A 91APP TPE-HQ us-west-2 DR WiFi Fake DNS Service B Service A ap-northeast-1 Service B
  28. 28. 28 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 Infra Applications UAT 新聞報導:哥吉拉登陸日本 東京,造成所有網路與服務 中斷。 目標:事故發生後 ,六小時還原系 統。
  29. 29. 29
  30. 30. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 全面啟動 Bottom up 30 ● 向上溝通 ● 確認演練目標 ● 團隊溝通 ● 時程規劃 ● 各系統負責人訪談 ● 確認各系統還原方式 ● 擬定各系統還原計畫 ● 盤點與執行演練前置作業 ● 確認還原方式 ● 確認當天流程 ● 確認資源需求 ● 演練費用評估 2019/08 2019/09 2019/10 2019/11 2019/12 ● 站立會議 ● 執行預演 ● 執行演練 ● 報告整理 計畫 準備 準備 再準備 執行
  31. 31. 站立會議 31 雙十一結束後一 週,每週一、三、 五中午站立。 任務類型分成: 1. 事前準備 2. 偷跑任務 3. 當天任務
  32. 32. 遇到的問題 32 1. 建置問題 2. 資源問題 3. 測試方法 4. 驗收條件 5. 配置管理 6. 系統權限 7. 部署策略
  33. 33. 1. 大家自己發起 2. 確認哪些要偷跑 3. 知道誰要等誰 (服務依賴) 4. 找到個服務驗證 項目 5. 確認大家都知道 測試方法 預演 33
  34. 34. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 34 1. 現場雙指揮官 2. 整點站立 3. 進度跟蹤 4. 各服務驗證 5. 問題回報 演練當天
  35. 35. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 35 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 Infra Applications UAT 新聞報導:哥吉拉登陸日本 東京,造成所有網路與服務 中斷。 下午 15:05 完成系統 還原。
  36. 36. 36
  37. 37. 得到 37 團隊 協作 系統 架構
  38. 38. ● 六小時 內把 核心業務系統 從 東京 遷移到 奧勒岡 ● 核心業務: Mobile APP 及 客戶官網 可正常瀏覽 確認 首頁、商品頁、分類頁 確認 會員、購物車、完成結帳、成立訂單 確認 登入後台、查詢到該筆訂單 災難演練 業務目標 38
  39. 39. 39 面對既有的工程問題 ● 服務邊界問題 ● 服務依賴盤絲錯節 ● 環境建置的問題 ● 跨 Region 的持續部署 ● 部署可以再更好 ● 配置管理可以再更好 ● Artifact Management 的重要
  40. 40. 40 團隊協作 ● 團隊凝聚力變強了 ● 大家培養了協作的工作方法 ● 對系統了解更全面了,包含成本 ● 負責的同仁:協作能力變強、表達能力變好了、技術能力提升了
  41. 41. 41 執行管理 ● 不要執著一定要用什麼技術 ● 定義好目標,充分授權 ● 做好向上管理與橫向聯繫 ● 團隊與服務的關聯,就是溝通路徑 (康威定律)
  42. 42. 42 Source Build Artifact Repository Programmers Continuous Integration Continuous Deployment Production Test R&D Deploy WebAPI v2.1.0 WebAPI v2.1.0 Test: Function, Regression, Performance Go ProductionBuild, Pack Code Quality, Unit Test Source WebAPI 20190323_v2.1.0 看見 CI / CD 全貌 Config Infrastructure Provisioning Source: https://rickhw.github.io/2019/03/28/DevOps/DevOpsTaiwan-Meetup-Beginning-in-Artifacts-Management/
  43. 43. 43 Software Delivery Pipeline (Installation, Deployment) Artifacts (Version, Build, Packing) Infrastructure (OS, Network, Security) Provisioning / Orchestration Configurations (Profile, Settings, Keys) 軟體交付的四大支柱 Source: https://rickhw.github.io/2019/04/04/DevOps/Four-Pillars-of-Software-Delivery/
  44. 44. Practice and Principle 44 1. 掌握核心業務、成本 2. Single Codebase、Multiple Deployment 3. 測試環境就是演練環境 4. 掌握軟體交付四大支柱的原則
  45. 45. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 不是我們選擇那一刻,而是那一刻選擇了我們 You don’t choose the moment, the moment chooses you! 我們唯一能做的,就是做好準備 You only choose how prepared you are when it does. Mike Burtch Fire Chief source: https://blog.codecentric.de/en/2018/07/chaos-engineering/ 45
  46. 46. 相關資訊 1. 聊聊軟體交付的濫觴 談產出物管理 2. 軟體交付的四大支柱 (Four Pillars of Software Delivery) 3. 導讀持續交付 2.0 - 談當代軟體交付之虛實融合 4. Whitepaper - Using AWS for Disaster Recovery 46
  47. 47. Thank you! © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. 47 Sr. Manager / 91APP 義工 / SRE Taiwan Rick Hwang 2020/01/08

×