Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スタートアップが挑むクラウドネイティブなマルチリージョン戦略
Search
izumiiii
November 28, 2023
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スタートアップが挑むクラウドネイティブなマルチリージョン戦略
Google Cloud Next Tokyo 2023 - Innovators Hive Lightning Talk
izumiiii
November 28, 2023
More Decks by izumiiii
See All by izumiiii
CircleCIの実行時間を大幅に短縮した話
izumiiii
0
130
GKE Autopilotのコストを9000円/日から2000円/日へ!
izumiiii
0
840
Multi-cluster deployment using ArgoCD x Connect Gateway
izumiiii
0
310
Other Decks in Technology
See All in Technology
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
780
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
2.9k
Flutterをカメラで動かしたかった話
sony
1
150
FDEの心得
noriakioji
5
6.1k
システム思考で問題に対処する
yussak
0
310
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
4
1.8k
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.3k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
6.2k
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
210
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
WCS-LA-2024
lcolladotor
0
800
So, you think you're a good person
axbom
PRO
2
2.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
Test your architecture with Archunit
thirion
1
2.3k
Ruling the World: When Life Gets Gamed
codingconduct
0
300
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
470
Transcript
スタートアップが挑むクラウドネイティブなマルチリージョン戦略 Google Cloud Next Tokyo 2023 - Innovators Hive Lightning
Talk
自己紹介 名前 Koizumi Fumiya Twitter izumiiii @izumiiii9 Blog https://izumiiii.com Zenn
https://zenn.dev/izumiiii 会社 株式会社Resilire 普段していること インフラ業務メインで、最近はよくKubernetesを触っています。
提供プロダクト Resilreの提供価値と機能 3 サプライチェーンリスク管理SaaS Resilire サプライチェーン全体(社内拠点や委託先、原料 調達先)をツリー上で構造的に管理。災害時、被 災影響の可能性がある拠点をマップ上で可視化・ リスト化。リストの拠点に自動でアンケート配信か ら回答結果のレポート生成を可能にするプロダク
トを提供しています。 3
インフラの重要性 • Resilireは災害時のリスク管理を行うプロダクトのため、平常時の予防よりも特に災害時にも 動作し続ける必要があります。 • 例えば、震災があったとしたら、納入先とサプライヤーの間で物流・生産に影響がないかをResilireのプ ロダクトを通して確認しあうような形で使われます。 • サプライヤーは海外にいることも多いため、グローバルに利用継続性を高める必要があり、 災害時にグローバルでも動作し続けられる基盤作りにチャレンジする必要があります。
急成長に伴う課題の発生 • 費用、人員、時間の制限 ◦ 少数の開発組織でありながら、決められた期間内にサービスをリリースする必要性があった。 • 既存システムの管理コストの増大 ◦ デプロイシステムのコード量が増加し、保守コストが増えた。 •
新アプリケーションとサービスの増加 ◦ リアーキテクチャのサービスの洗い出しによって、サービス数が増えた。また、グローバルに耐えうるシステム 構成が必要であった。
我々が挑むマルチリージョン戦略のシステム
GCPサービス
Google Kubernetes Engine Autopilot • アプリケーションに専念 ◦ Googleがインフラストラクチャを管理するため、エンジニアはアプリケーションに専念。 • 運用の複雑さの軽減
◦ Autopilot は、ノード、スケーリング、スケジューリングのオペレーションを継続的にモニ タリングする必要がないため、プラットフォームの管理オーバーヘッドを削減。 Resilire では、少数の開発組織のため運用の簡素化された Autopilot が適している。
マルチクラスタ Ingress • グローバル負荷分散 ◦ ユーザートラフィックを最も効率的で効果的なクラスタやリージョンに自動的にルーティン グ。 • リージョナルな冗長性と可用性の向上 ◦
複数のリージョンにクラスタを展開することで、リージョナルな冗長性と高可用性を実現。 Resilireではグローバル展開を想定しているため、有効な手段。
Managed Anthos Service Mesh • クラスター間をサービスメッシュを設けることで、クラスター間通信、可用性の向上、トラフィッ ク分散、サーキットブレイカーを行うことができる。 • Resilireでは、クラスタ間の負荷分散、BCP対策として活用。
東京クラスタ 大阪クラスタ ??クラスタ 海外
Spot Pod for Autopilot vCPU, Memory当たり1/3程度の料金で使える。 注意点: 標準の Pod の実行でコンピューティングリソースが必要になると、GKE
に よって強制削除される場合がある。
apiVersion: apps/v1 kind: Deployment metadata: name: argocd-repo-server spec: template: spec:
containers: - name: argocd-repo-server nodeSelector: cloud.google.com/gke-spot: 'true' terminationGracePeriodSeconds: 25 設定例
リソースリクエスト Autopilotでのノードのインスタンスタイプ/ノード数は実際にクラスタにデプロイ されているPodに設定されたRequest量をもとに決定されている。 明示的にリソース量をマニフェストで指定していない場合、1コンテナあたり 0.5 vCPU, 2GiB Memoryが割り当てられる。
注意点 Autopilotでは1Podあたり最低 CPU: 250m メモリ: 0.5 GiB を割り当てないといけない。 それより小さい値を指定していても、値が変わらないようになっている。
apiVersion: apps/v1 kind: Deployment metadata: name: argocd-repo-server spec: template: spec:
containers: - name: argocd-repo-server resources: requests: cpu: 250m memory: 512Mi 設定例
まとめ • GKE Autopilotを使うことによって、複雑な管理コストを減らして、アプリケーションに専念。 • マルチクラスタIngress, Anthos Service Meshを使うことで、BCP対策を意識したり、グローバルユー ザーを意識したレイテンシの改善を行うことができる。
• Spot Pod,リソースリクエストを使うことで、簡単な編集でコストを削減してGKEを運用することができる。
ご清聴ありがとうございました。