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
Cloud Run で作るサーバーレス アーキテクチャ 30 連発 - これのときはこう!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
GoogleCloudPlatformJapan
September 20, 2024
Business
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Run で作るサーバーレス アーキテクチャ 30 連発 - これのときはこう!
GoogleCloudPlatformJapan
September 20, 2024
More Decks by GoogleCloudPlatformJapan
See All by GoogleCloudPlatformJapan
Google Kubernetes Engine (GKE) の可観測性を活用し、 システムの Resiliency を高める障害原因調査
googlecloudjapan
0
100
「原因不明なナゾの障害」で終わらないための Kubernetes のログの徹底活用
googlecloudjapan
0
450
15 分で学ぶ Cloud Run のユースケースと代表的なアーキテクチャパターン
googlecloudjapan
3
800
Google Cloud の スペシャリストと学ぶ! BigQuery & Gemini
googlecloudjapan
0
260
ログから学ぶKubernetes
googlecloudjapan
1
740
GKE Enterprise 徹底解説
googlecloudjapan
2
1.4k
Cloud Run で作るサーバーレス アーキテクチャ 30 連発 - これのときはこう!
googlecloudjapan
33
12k
実践!サーバーレス RAG 構築:Firestore ベクトル検索と VertexAI LLM 活用
googlecloudjapan
2
3k
実践!サーバーレス RAG 構築:Firestore ベクトル検索と VertexAI LLM 活用
googlecloudjapan
0
450
Other Decks in Business
See All in Business
今日から始めるセルフマネジメント/A Practical Guide to Self-Management
ikuodanaka
1
650
【会社について知る】エーテンラボ採用デック
a10lab201612
0
460
株式会社Fact_Base 会社紹介資料
factbase2022
0
250
データ品質とメタデータ管理で実現する構造化・非構造化データ活用のユースケース紹介
kawanago
0
350
dotcue採用ピッチ2606.pdf
dotcue
0
150
"分からないまま走る"をやめたら不確実性に向き合えるチームになっていった話 ~開発指標で語るプロセス改善~
bicstone
1
230
営業、広報、開発。 多面的なAIネイティブ化のための 基盤について
timakin
0
210
どこまでを引き受けるのか — 変わり続ける役割と、変わらない思考法 / How Much We Take On — Evolving Roles and Enduring Ways of Thinking
nrslib
2
990
AIエージェントのデータガバナンスの最新事情。そしてプロダクトのAIファースト化
timakin
0
3.2k
ARI_BXデザイン第2事業ドメイン_事業紹介資料
arid2
0
230
パーソルクロステクノロジー_グループソリューション本部のご紹介 / Introduction_of_gs
pxt_gs_ssol
0
3.5k
株式会社Beer and Tech/HitoHana(ひとはな) 採用資料 2026.06 .09
beerandtech_recruiter
1
48k
Featured
See All Featured
Believing is Seeing
oripsolob
1
150
How to train your dragon (web standard)
notwaldorf
97
6.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Designing Experiences People Love
moore
143
24k
Claude Code のすすめ
schroneko
67
230k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
Transcript
Cloud Run で作る サーバーレスアーキテクチャ 30 連発 - これのときはこう! 2024/09/21 Google
Cloud Yuki Suwa
諏訪 悠紀 (Yuki Suwa) • カスタマーエンジニア (流通・小売担当) ◦ 2020 年に
Google Cloud にジョイン ◦ ex-Classmethod (2011 年 - 2020 年) • 得意分野 ◦ Cloud Run などのサーバーレス サービス ◦ Mobile App や Web App の開発 ◦ Vertex AI Search for Retail (検索サービス) ◦ プロトタイピング・デモ作り yuki0211s@X
本セッションのテーマ • Cloud Run の基本 • サーバーレス アーキテクチャ パターン 30
連発 Cloud Run の アーキテクチャ パターンをたくさん知る!
Cloud Run とは? 01
Proprietary + Confidential Cloud Run は Google Cloud の サーバーレス
ランタイム です。 フルマネージドな環境で、コンテナ アプリケーションを 素早くセキュアに 起動できます。 ランタイム • 自由度 自由なコード、自由なコンテナ • オンデマンド 実行のための事前準備不要 • スケーラビリティ 0 から高速にスケール • インフラ管理不要 VM やクラスタの管理が不要 Cloud Run 開発体験 • シンプル 準備はほぼ不要、すぐに使える • 自動化 多くの作業を自動化によってケア • 高い満足度、ユーザービリティ 高い CSAT スコア • 開発生産性 開発者にとって使いやすい コスト効率的 • 従量課金 アプリケーションが稼働した分のみの課金 • 無料枠 無料利用枠が毎月使える • 確約利用割引 確約利用で通常料金から大幅に割引 • 定額料金なし 使っていなければノーコスト
Cloud Run の 2 つのリソース Cloud Run ジョブ タスクを非同期で実行 •
ジョブ実行時間のみ課金 • HTTP エンドポイントなし • 必要なジョブ数に応じて自動スケーリング • 定期実行、手動実行、イベント駆動実行 • 最大 24 時間の長時間タスク • 実行履歴、再実行 Cloud Run サービス HTTP エンドポイントを持つサービスをホスティング • リクエスト処理中のみ課金 • すぐに使える TLS 付きの URL を作成 • トラフィックに応じた自動スケーリング • HTTP, EDA, Websockets, HTTP/2, gRPC • トラフィック分割とロールアウトがビルトイン • リビジョン管理
サーバーレス アーキテクチャ パターン 30 連発 ! 02
Web アプリケーション & API サーバー
Web アプリケーション + API の 3-Tier 構成 (SPA) Cloud Run
API サーバー VPC Cloud SQL Cloud Storage 静的コンテンツ Application Load Balancer Cloud CDN 1
Web アプリケーション + API の 3-Tier 構成 (SSR) 2 Cloud
Run API サーバー VPC Cloud SQL Cloud Storage 静的コンテンツ Application Load Balancer Cloud CDN Cloud Run SSR サーバー
モバイルアプリ向け 2-Tier 構成 3 Cloud Run API サーバー Application Load
Balancer Cloud CDN Firestore Mobile App Android / iOS
Firebase App Hosting を使った SSR アプリケーション 4 Cloud Run App
Hosting Cloud Storage
API ゲートウェイ・ BFF 5 Application Load Balancer Cloud CDN Cloud
Run BFF Cloud Run API サーバー Cloud Run API サーバー Cloud Run API サーバー
複数のリージョンからのトラフィックの処理 6 Cloud Run Application Load Balancer asia-northeast1 Cloud Run
us-central1 Spanner https://cloud.google.com/run/docs/multiple-regions?hl=ja Tokyo San Francisco
サービスメッシュ (Cloud Service Mesh) 7 https://cloud.google.com/service-mesh/docs/configure-cloud-service-mesh-for-cloud-run?hl=ja Cloud Run Cloud Run
Cloud Run Cloud Run Cloud Service Mesh
オンプレミスからのみアクセス可能な内部向け アプリケーション 8 Cloud Run Internal Load Balancer VPC Cloud
SQL Interconnect オンプレミス System
Google アカウントでアクセス制限 (Identity-Aware Proxy) 9 社員 一般ユーザー ✓ Identity-Aware Proxy
Cloud Run Web App Application Load Balancer
Google アカウント以外でアクセス制限 (IAP + Identity Platform) 10 Identity-Aware Proxy Application
Load Balancer Cloud Run SSR サーバー Identity Platform Cloud Run ログインページ IAP の設定からログインページ専用の Cloud Run を構築できる (構成ファイルを使ったカスタマイズも可能 ) Google Email OIDC …
攻撃のブロック (WAF) と CAPTCHA 11 Cloud Run Web App Application
Load Balancer Cloud Armor Cloud Run API サーバー reCAPTCHA Enterprise ユーザー 攻撃者 ✓
ストレージのマウント 12 Cloud Storage Cloud Run Web App Cloud Storage
FUSE https://codelabs.developers.google.com/codelabs/how-to-cloud-run-gemini-function-calling?hl=ja#0
リアルタイム ストリーミング 13 https://codelabs.developers.google.com/codelabs/how-to-cloud-run-gemini-function-calling?hl=ja#0 Cloud Run Cloud Storage
双方向通信 14 https://codelabs.developers.google.com/codelabs/how-to-cloud-run-gemini-function-calling?hl=ja#0 Cloud Run Memorystore コンテナ インスタンス コンテナ インスタンス
コンテナ インスタンス
イベントドリブン アーキテクチャ
イベントドリブン アーキテクチャ (基本) 15 Cloud Run Eventarc イベントトリガー イベント https://cloud.google.com/eventarc/docs/event-driven-architectures?hl=ja
アラート通知のカスタマイズ 16 Cloud Run メッセージ加工 Cloud Monitoring アラート Slack LINE
Mail SendGrid https://cloud.google.com/blog/ja/products/devops-sre/use-slack-and-webhooks-for-notifications?e=48754805&hl=ja
Cloud Storage イベントトリガー、ジョブ実行 17 Cloud Run ジョブ Eventarc イベントトリガー Cloud
Storage ファイル
Firestore イベントトリガー、 BigQuery にリアルタイム同期 18 Cloud Run データ処理 BigQuery Eventarc
イベントトリガー Firestore
FaaS (Cloud Run Functions) のイベントトリガー 19 Cloud Run Functions Cloud
Storage Pub/Sub Cloud Run Functions
ワークフロー・オーケストレーション (例 : 長い文章ファイルの要約 ) 20 Cloud Run BigQuery Workflows
Eventarc イベントトリガー Cloud Storage Cloud Storage ❶ チャンク取得 Gemini https://cloud.google.com/blog/ja/products/ai-machine-learning/long-document-summarization-with-workflows-and-gemini-mo dels?e=48754805&hl=ja ❷ 要約 ❸ データ加工 ❹ 永続化
ジョブ・バッチ処理
Cloud Run ジョブを使った並列処理 (例 : 店舗ごとのデータ処理 ) 21 Cloud Run
ジョブ Workflows BigQuery shops テーブル shop_id shop_index 1000 0 2000 1 3000 2 レコード数 = タスク数 BigQuery records テーブル タスク タスク タスク shop_id value 1000 1 2000 5 3000 3 … … https://cloud.google.com/workflows/docs/tutorials/execute-cloud-run-jobs?hl=ja
Always on CPU を使った非同期処理 22 Cloud Run Always on CPU
Workflows 処理開始 処理完了 https://cloud.google.com/run/docs/configuring/cpu-allocation?hl=ja ワークフロー実行は最大 1 年待機可能 Firestore 状態管理 ❶ 非同期処理実行 ❷ 状態監視
キューイング サービス 23 Cloud Run Pub/Sub Cloud Run Cloud Run
Cloud Tasks Cloud Run https://cloud.google.com/run/docs/configuring/cpu-allocation?hl=ja 同時実行・スケール重視 重複排除重視
BigQuery リモート関数 24 BigQuery Cloud Run https://cloud.google.com/bigquery/docs/remote-functions?hl=ja CREATE FUNCTION PROJECT_ID.DATASET_ID.remote_add(x
INT64, y INT64) RETURNS INT64 REMOTE WITH CONNECTION PROJECT_ID.LOCATION.CONNECTION_NAME OPTIONS ( endpoint = 'ENDPOINT_URL' ) Cloud Run Functions
生成 AI
生成 AI モデルのサービング (GPU 利用) 25 Cloud Run API Model
Garden LLM の コンテナ イメージ デプロイ https://cloud.google.com/blog/ja/products/application-development/run-your-ai-inference-applications-on-cloud-run-with-nvidia-gpus?e= 48754805&hl=ja Cloud Run Web App ユーザー
ベクトル検索を使った RAG システム 26 BigQuery Vector Index Cloud Run LangChain
ユーザー Vertex AI Gemini https://cloud.google.com/architecture/rag-capable-gen-ai-app-using-vertex-ai?hl=ja
AI ワークフロー (Firebase GenKit) 27 https://firebase.google.com/docs/genkit/cloud-run?hl=ja Cloud Run API Cloud
Run Web App ユーザー Genkit デプロイ • AI ワークフローの開発 • プロンプト管理 • ローカルデバッグ • 評価 • モニタリング Genkit プラグイン サポートされている LLM (一部) • Gemini (Vertex AI ) • Gemini (Google AI) • Imagen 2, Imagen 3 • Claude 3 • オープンモデル (Gemma, Llama, etc) • Open AI の GPT ファミリー • Azure Open AI の GPT ファミリー • etc … 各種 LLM の API を呼び出し
Gemini に外部データを参照させる (Function Calling) 28 https://codelabs.developers.google.com/codelabs/how-to-cloud-run-gemini-function-calling?hl=ja#0 Vertex AI Gemini ユーザー
対話 Cloud Run API サーバー BigQuery 必要に応じて 情報を取得
カスタマー エージェント (Agent Builder) 29 Cloud Run API サーバー Vertex
AI Agent ユーザー API 呼び出し (e.g. 商品購入) 対話 Vertex AI Search 情報の検索 (e.g. 商品検索)
データ エージェント (Looker ) 30 Looker Frontend ユーザー 対話 Cloud
Run API サーバー BigQuery Looker Query API Vertex AI Gemini LookML Prompt
Thank you