Slide 1

Slide 1 text

1 © 2025 Japan Digital Design, Inc. Takuya Yonezawa 2025.01.22 Cell-Based Architectureって何なのか? Fin-JAWS

Slide 2

Slide 2 text

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 プロフィール 登壇時間オーバーのため サンバを踊られて強制終了の図

Slide 3

Slide 3 text

3 © 2025 Japan Digital Design, Inc. みなさん、Wernerさんのキーノート見ました?

Slide 4

Slide 4 text

4 © 2025 Japan Digital Design, Inc. Keynoteで触れられていたコレ https://youtu.be/aim5x73crbM?t=3494

Slide 5

Slide 5 text

5 © 2025 Japan Digital Design, Inc. Cell-Based Architecture

Slide 6

Slide 6 text

6 © 2025 Japan Digital Design, Inc. 金融系セッションでもCell-Based Architectureについて触れられているセッションもいくつか https://www.youtube.com/watch?v=7YOy4fngycY https://www.youtube.com/watch?v=7vn49exuYxo

Slide 7

Slide 7 text

7 © 2025 Japan Digital Design, Inc. Cell-Based Architectureとは何なのか?

Slide 8

Slide 8 text

8 © 2025 Japan Digital Design, Inc. 船におけるBulkhead(隔壁)の概念から生まれたアーキテクチャデザイン https://en.wikipedia.org/wiki/Bulkhead_%28partition%29 一部が浸水しても、隔壁により浸水の拡大を抑止

Slide 9

Slide 9 text

9 © 2025 Japan Digital Design, Inc. 船におけるBulkhead(隔壁)の概念から生まれたアーキテクチャデザイン 安全設備の搭載義務化の方向性(案)~隔壁の水密化等~

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

16 © 2025 Japan Digital Design, Inc. Cell-Based Architectureがもたらすもの #1 システム障害の封じ込め・隔離

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

18 © 2025 Japan Digital Design, Inc. Cell-Based Architectureがもたらすもの #2 柔軟なスケーリング

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

20 © 2025 Japan Digital Design, Inc. Cell-Based Architectureがもたらすもの #etc テスト容易性 MTBF(平均故障間隔) / MTTR(平均回復時間)

Slide 21

Slide 21 text

21 © 2025 Japan Digital Design, Inc. Cellのデザイン

Slide 22

Slide 22 text

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のデザインパターン

Slide 23

Slide 23 text

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の複雑化 モニタリングの複雑化

Slide 24

Slide 24 text

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における銀行取引認証プラットフォームでの例

Slide 25

Slide 25 text

25 © 2025 Japan Digital Design, Inc. みなさんが思っているであろうこと 「Cell RouterがSPOFでは?」

Slide 26

Slide 26 text

26 © 2025 Japan Digital Design, Inc. おっしゃる通りです

Slide 27

Slide 27 text

27 © 2025 Japan Digital Design, Inc. Cell Routerの大原則 高速動作、高信頼性 ロジックは最小限・シンプルに クライアント側にルーティングに関する責務を負わせない etc...

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

30 © 2025 Japan Digital Design, Inc. AWSにおけるCell Routerのデザイン #3 AWS Prescriptive Guidance に 更に高度なガチ物の実装例があるので興味がある方はそちらも参照

Slide 31

Slide 31 text

31 © 2025 Japan Digital Design, Inc. みなさんが思っているであろうこと 「マイクロサービスと何が違うん?」

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

33 © 2025 Japan Digital Design, Inc. マイクロサービスを抽象化した。という印象 ぱっと見 マイクロサービスよりも優れているように見える

Slide 34

Slide 34 text

34 © 2025 Japan Digital Design, Inc. というわけでもなく、 Cell-Basedにすることで考慮するべき追加ポイントも Cell Routerの設計・実装・SLA担保できますか? Cellの分割単位は?(ex. 支店, テナント, GeoLocation?) 各独立したセルのモニタリングはどうやるか? セルへのデプロイフローはどうやるか? etc...

Slide 35

Slide 35 text

35 © 2025 Japan Digital Design, Inc. 顧客の100%が5%の失敗率を経験する方がよいのか、 それとも顧客の5%が100%の失敗率を経験する方がよいのか Cell-Based Architectureはどんなワークロードに適するか?

Slide 36

Slide 36 text

36 © 2025 Japan Digital Design, Inc. 関連ドキュメント https://docs.aws.amazon.com/wellarchitected/latest/ reducing-scope-of-impact-with-cell-based-architecture/what-is-a-cell-based-architecture.html

Slide 37

Slide 37 text

37 © 2025 Japan Digital Design, Inc. さいごに https://www.youtube.com/watch?v=7YOy4fngycY

Slide 38

Slide 38 text

Thank you. 38 © 2025 Japan Digital Design, Inc.