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
Google Cloud NEXT'19 わいわい報告会 - Cloud Run について
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
avvmoto
April 17, 2019
Technology
1
390
Google Cloud NEXT'19 わいわい報告会 - Cloud Run について
Google Cloud NEXT'19 で発表された、Cloud Run についての概要です。
avvmoto
April 17, 2019
Tweet
Share
More Decks by avvmoto
See All by avvmoto
Go Conference 2019 Autumn Go で超高速な 経路探索エンジンをつくる/Go Conference 2019 Autumn go-ch
avvmoto
14
26k
gRPC Streaming によるスケーラブルな常時接続型 API の構築
avvmoto
14
6.9k
Go Conference 2018 Autumn 大規模ウェブサービスにおけるコード レビュー観点
avvmoto
2
2k
Effective streaming in Golang
avvmoto
6
5.8k
Other Decks in Technology
See All in Technology
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
22k
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
270
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
530
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
120
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
160
[E2]CCoEはAI指揮官へ。Bedrock×MCPで構築するコスト・セキュリティ自律運用基盤
taku1418
0
190
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
13k
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
220
AWSの資格って役に立つの?
tk3fftk
2
360
組織全体で実現する標準監視設計
yuobayashi
3
490
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
170
進化するBits AI SREと私と組織
nulabinc
PRO
1
240
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Unsuck your backbone
ammeep
672
58k
GitHub's CSS Performance
jonrohan
1032
470k
Navigating Weather and Climate Data
rabernat
0
140
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
250
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
Prompt Engineering for Job Search
mfonobong
0
190
Fireside Chat
paigeccino
42
3.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
Transcript
Google Cloud NEXT'19 わいわい報告会 Cloud Run について 井本裕 オートモーティブ事業本部 モビリティ・インテリジェンス開発部
株式会社ディー・エヌ・エー
目次 2 Cloud Run Cloud Run on GKE 開発Tips 1
2 3 Severless Compute Service 各種比較 4
Cloud Run 3
Cloud Run (BETA) • サーバーレスの Computing Service • Cloud Function,
GAE と同様 • HTTP リクエスト経由でコンテナを実行 • マネージドサービスであり、インフラは抽象化されている • ただし自分の GKE Cluster 上で実行できる Cloud Run on GKE もある(後述) • オートスケール • トラフィックに応じて自動的にゼロからNまで増減 • デモだと 1min で 0 → 15000 concurrency までスケールしてた 4
Serverlessとは Google の定義によると 5 https://youtu.be/xVuuvZkYiNM
ユースケース - 認証なし ( Public ) - Website / API
のフロントエンド - Mobile Backend - Webhook - 認証あり (Private) - マイクロサービス - 画像変換等々 - コンテナなので任意のバイナリ、ライブラリが使える - 非同期処理 - Pub/Sub, Cloud Schedulerから発火 6
特徴 - コンテナベース 7 https://youtu.be/xVuuvZkYiNM
アーキテクチャ 8 https://youtu.be/xVuuvZkYiNM
アーキテクチャ 9 Source: https://twitter.com/ahmetb/status/1116041166359654400
認証について • 前段に IAM で認証ができ、Cloud Run の Service に入る前に GCP
側でチェックしてくれる • Service Account を指定したり、特定のユーザーを指定したり • Firebase 連携もある 10 https://youtu.be/xVuuvZkYiNM
認証 / PubSub - Pub/Sub から Cloud Run へ認証つきで Push
する例 11 https://youtu.be/xVuuvZkYiNM
Concurrency - 1~80 (default:80) - Cloud Functions, AWS labda は
1 なので有利なポイント 12 https://youtu.be/xVuuvZkYiNM
インスタンスのリソース - CPU - 1vCPU固定 - Cloud Run on GKEでは任意
- メモリ - 128MB ~ 2G - default 128MB 13
価格 - 100ms単位で課金 - 無料枠あり - 有料枠 ( BETA期間中の今なら無料 )
- 約 $2 / vCPU /日 - 約 $0.2 / GB(メモリ) / 日 14 https://cloud.google.com/run/pricing cf. GAE SE f2 instance (1.2 GHz 256 MB) $ 2.4 / 日
価格 - リクエストをさばいている間のみ課金 - インスタンスの起動時間には寄らない - concurrency が大きいとコストで有利に 15 https://youtu.be/xVuuvZkYiNM
制約 - これらが問題となる場合は Cloud Run on GKEだと存在しない - また、Cloud Run
は region も us-central1 のみ(すぐ追加されるとセッション中で話していた) - どちらも Knative Serving API を使えるので、移行は簡単(らしい) 16 https://youtu.be/xVuuvZkYiNM
Knative Serving API Spec: https://github.com/knative/serving/tree/master/docs/spec 17 https://youtu.be/xVuuvZkYiNM
その他制約 18 https://cloud.google.com/run/quotas
Cloud Run on GKE 19
Cloud Run on GKE • Google Kubernetes Engineクラスタへのアドオン • 自前の
GKE Cluster に Google が Knative をインストールしてくれるというもの • Cloud Run の一部の制約がない • Cloud Run on GKEの制約 • GKE Cluster の料金の発生 • 自分でSSL証明書の管理が必要 • 自動スケーリングはGKEクラスタの 容量内 20 Source: https://twitter.com/ahmetb/status/1116041166359654400
Cloud Run 開発 Tips 21 https://cloud.google.com/run/docs/tips?hl=en
開発Tips • 一般 • リクエスト終了後のバックグラウンドアクティビティは避ける • 一時ファイルの削除 • エラー発生時にサービスをクラッシュさせない •
コールドスタート • サービスの起動を速くする • コンテナイメージサイズの最小化 • 依存ライブラリのロードを最小化する • 重い初期化等は、グローバル変数でインスタンス内で共用化 • グローバル変数の遅延初期化の実行 • Concurrency • 適切なConcurrency、そしてそれに応じた適切なメモリサイズの設定 • mutex/lockに注意 • コンテナセキュリティ(略) 22
サーバーレス各種比較 23
24 https://youtu.be/xVuuvZkYiNM
まとめ 25
まとめ • Cloud Run, Cloud Run on GKE が出た •
コンテナベースなオートスケールするマネージドなサービス • コンテナなので好きな言語、ライブラリが使えて便利 • 認証、ロギング、SSL、などなど便利機能と連携多数 26
個人的な所管 - GAE における min_idle_instance は設定できない - コールドスタート時のレイテンシ悪化がちょっと心配 - 今後設定項目に追加されることを勝手に期待している
- Cloud Run - Cloud SQL等使えない現状だと、本当に画像変換処理とかの用途になりそう - 無料の今のうちに遊んでみよう - いくつか制約に関してアップデートが予告されているので今後に注目 - 複雑な k8s に触らずシュッとオートスケールでコンテナ動かせるの良さそう 27
参考文献 - https://cloud.withgoogle.com/next/sf/sessions?session=SVR302 - https://cloud.google.com/run/ - https://twitter.com/ahmetb/status/1116041166359654400 - https://youtu.be/xVuuvZkYiNM 28