アーキテクチャ
API Gateway
Authority
API
Service X
API
Service Y
Google Cloud Load Balancer
Service A Service B
Google Kubernetes Engine
Service C
Web
Service Z
Cloud
Spanner
Project A
Cloud
Spanner
Cloud
Pub/Sub
Project B
Project GKE
Project C
Cloud
Spanner
Cloud
Storage
Slide 12
Slide 12 text
API Gateway
Authority
API
Service X
API
Service Y
Google Cloud Load Balancer
Service A Service B
Google Kubernetes Engine
Service C
Web
Service Z
Cloud
Spanner
Project A
Cloud
Spanner
Cloud
Pub/Sub
Project B
Project GKE
共通 GKEクラスタ
3
1
2 個別 Project
レイヤーアーキテクチャ
Project C
Cloud
Spanner
Cloud
Storage
マイクロサービス on
Google Kubernetes Engine
すべて マイクロサービスが同じClusterに乗っている
- Cluster自体 Platform Teamが構築・運用
- Namespace内を各チームが開発・運用
Google Kubernetes Engine
Namespace: service-a
Container A
Container A
Container A
Namespace: service-b
Container A
Container A
Container B
Slide 15
Slide 15 text
マイクロサービス on Google Cloud Platform
● 1つ マイクロサービスが1つ GCP Projectを持つ
● 各 Project 中に Spanner や Pub/Sub などを作成
● 権限設定したService Account を Kubernetes Secretに配置
● Terraformで管理
CircleCI
Project A
Cloud
Spanner
Cloud
Pub/Sub
GitHub
Terraform
Code Project B
Cloud
Spanner Big Query
Slide 16
Slide 16 text
マイクロサービス 階層構
Client アプリ、加盟店等 パートナー様
API Gateway 全て リクエストがAPI Gatewayを通る
共通処理とルーティング
API サービス クライアントから リクエストとレスポンス 責任を持つ
裏側にある複数 マイクロサービス アグリゲーション
Backend サービス 機能 ロジックを実現する
Backend
Service
API Gateway
API
Service
Client
マイクロサービス 運用体制
マイクロサービスで 各チームが担当マイクロサービスを運用
● 元から運用経験があるエンジニア かりで ない
Google Kubernetes Engine
Container A
Container A
Container A
Cloud
Spanner
Project A
Container A
Container A
Container B
Cloud
Spanner
Project B
Cloud
Pub/Sub