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
avvmoto
April 17, 2019
Technology
1
370
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.6k
Go Conference 2018 Autumn 大規模ウェブサービスにおけるコード レビュー観点
avvmoto
2
2k
Effective streaming in Golang
avvmoto
6
5.7k
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
3.9k
触れるけど壊れないWordPressの作り方
masakawai
0
700
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
110
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
240
어떤 개발자가 되고 싶은가?
arawn
1
470
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
1
180
決済システムの信頼性を支える技術と運用の実践
ykagano
0
260
[AWS 秋のオブザーバビリティ祭り 2025 〜最新アップデートと生成 AI × オブザーバビリティ〜] Amazon Bedrock AgentCore で実現!お手軽 AI エージェントオブザーバビリティ
0nihajim
2
960
NOT A HOTEL SOFTWARE DECK (2025/11/06)
notahotel
0
3.6k
最近読んで良かった本 / Yokohama North Meetup #10
mktakuya
0
1.3k
AWS IAM Identity Centerによる権限設定をグラフ構造で可視化+グラフRAGへの挑戦
ykimi
2
460
設計に疎いエンジニアでも始めやすいアーキテクチャドキュメント
phaya72
30
20k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
BBQ
matthewcrist
89
9.9k
Optimizing for Happiness
mojombo
379
70k
Designing for humans not robots
tammielis
254
26k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
The Language of Interfaces
destraynor
162
25k
Thoughts on Productivity
jonyablonski
73
4.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
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