Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20250122_FinJAWS

 20250122_FinJAWS

Takuya Yonezawa

January 22, 2025
Tweet

More Decks by Takuya Yonezawa

Other Decks in Technology

Transcript

  1. 1 © 2025 Japan Digital Design, Inc. Takuya Yonezawa 2025.01.22

    Cell-Based Architectureって何なのか? Fin-JAWS
  2. 2 CONFIDENTIAL © 2025 Japan Digital Design, Inc. 米澤 拓也

    Software Engineer Technology & Development Div. 前職ではCCoE、現職ではSoftware Engineer フロント/バックエンドの実装からインフラ構築など何でもやってます JAWS DAYS2025/ JAWS DAYS2024 / PANKRATION2024 の運営(WEB) 最近はもっぱらJAWSイベントのWEB屋 奈良 大阪の2拠点生活 好きなAWSサービスは CloudFront、Lambda プロフィール 登壇時間オーバーのため サンバを踊られて強制終了の図
  3. 11 © 2025 Japan Digital Design, Inc. Load Balancer Datastore

    Cell−Based Architectureじゃない世界 Compute Group A Group B Group C
  4. 12 © 2025 Japan Digital Design, Inc. Load Balancer Datastore

    Compute Group A Group B Group C 単一障害が全ユーザーに波及 Cell−Based Architectureじゃない世界
  5. 13 © 2025 Japan Digital Design, Inc. AWSにおけるCell−Based Architecture Load

    Balancer Compute Datastore Group A Group B Group C Load Balancer Compute Datastore Load Balancer Compute Datastore Cell A Cell B Cell C Cell Router
  6. 14 © 2025 Japan Digital Design, Inc. Load Balancer Compute

    Datastore Load Balancer Compute Datastore Load Balancer Compute Datastore Cell A Cell B Cell C Cell Router 各セルへのトラフィックルーティング by 利用者ID、GeoLocation、契約ID etc AWSにおけるCell−Based Architecture Group A Group B Group C
  7. 15 © 2025 Japan Digital Design, Inc. Cell Router Group

    A Group B Group C Load Balancer Compute Datastore Load Balancer Compute Datastore Load Balancer Compute Datastore Cell A Cell B Cell C 各セルはサイロ化して独立(通信NG、データ共有NG) アプリケーション稼働に必要なコンポーネントを1まとめに AWSにおけるCell−Based Architecture
  8. 17 © 2025 Japan Digital Design, Inc. AWSにおけるCell−Based Architecture Load

    Balancer Compute Datastore Group A Group B Group C Load Balancer Compute Datastore Load Balancer Compute Datastore Cell A Cell B Cell C Cell Router
  9. 19 © 2025 Japan Digital Design, Inc. AWSにおけるCell−Based Architecture Load

    Balancer Compute Datastore Group A Group B Group C Load Balancer Compute Datastore Load Balancer Compute Datastore Cell A Cell Router Compute Datastore Cell B Cell C
  10. 20 © 2025 Japan Digital Design, Inc. Cell-Based Architectureがもたらすもの #etc

    テスト容易性 MTBF(平均故障間隔) / MTTR(平均回復時間)
  11. 22 © 2025 Japan Digital Design, Inc. AZ AZ AZ

    AZ AZ AZ Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell マルチAZ シングルAZ マルチセル Cellのデザインパターン
  12. 23 © 2025 Japan Digital Design, Inc. AZ AZ AZ

    AZ AZ AZ Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cellのデザインパターン マルチAZ シングルAZ マルチセル AZ障害時にAWS標準の リカバリ機能が利用可能 トラフィックが1AZ内に閉じる → レイテンシ的に有利 → AZ間通信料不要 AZ障害の封じ込めが可能 アプリケーションエラーの きめ細かな封じ込め 1つのCellが高信頼性 AZ障害の影響 Cellデプロイの独立性 AZスコープのサービスのみで構成 Cell Routerの複雑化 モニタリングの複雑化
  13. 24 © 2025 Japan Digital Design, Inc. AZ AZ AZ

    AZ AZ AZ Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cell Cellのデザインパターン マルチAZ シングルAZ マルチセル AZ障害時にAWS標準の リカバリ機能が利用可能 トラフィックが1AZ内に閉じる → レイテンシ的に有利 → AZ間通信料不要 AZ障害の封じ込めが可能 アプリケーションエラーの きめ細かな封じ込め 1つのCellが高信頼性 AZ障害の影響 Cellデプロイの独立性 AZスコープのサービスのみで構成 Cell Routerの複雑化 モニタリングの複雑化 Capital Oneは シングルAZ方式を採用 (※1) (※1) Capital Oneにおける銀行取引認証プラットフォームでの例
  14. 27 © 2025 Japan Digital Design, Inc. Cell Routerの大原則 高速動作、高信頼性

    ロジックは最小限・シンプルに クライアント側にルーティングに関する責務を負わせない etc...
  15. 28 © 2025 Japan Digital Design, Inc. AWSにおけるCell Routerのデザイン #1

    Route53 Cell Router Cell A Cell B Cell C Route53のSLAは100% Route53内のDNSレコードでセルのエンドポイントを指定 A.xxx.com → Cell A B.xxx.com → Cell B C.xxx.com → Cell C
  16. 29 © 2025 Japan Digital Design, Inc. AWSにおけるCell Routerのデザイン #2

    Cell Router Cell A Cell B Cell C DynamoDBにセルのルーティング情報を保存 API GatewayとDynamoDBはネイティブに統合されている API Gatewayの持つスロットリングやレート制限の恩恵を受けられる API Gateway DynamoDB Region
  17. 30 © 2025 Japan Digital Design, Inc. AWSにおけるCell Routerのデザイン #3

    AWS Prescriptive Guidance に 更に高度なガチ物の実装例があるので興味がある方はそちらも参照
  18. 32 CONFIDENTIAL © 2025 Japan Digital Design, Inc. Cell-Based or

    Micro Service 米澤なりの整理 Cell-Based Architecture Micro Service 完全独立 セル単体で動作、依存関係なし サービス単位で独立 細分化されたサービスが 組み合わさって1つの機能を提供 クライアント目線でのスケール セル (クライアントのグループ) 単位でのスケーリングが主流 サービス目線でのスケール 構成サービス(ex 認証, オーソリ etc…) 単位でのスケーリング 通信 セル間の通信は原則なし 通信 サービス間通信が前提
  19. 34 © 2025 Japan Digital Design, Inc. というわけでもなく、 Cell-Basedにすることで考慮するべき追加ポイントも Cell

    Routerの設計・実装・SLA担保できますか? Cellの分割単位は?(ex. 支店, テナント, GeoLocation?) 各独立したセルのモニタリングはどうやるか? セルへのデプロイフローはどうやるか? etc...