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 が作る世界 #devio2022
Search
Takaaki Tanaka
July 21, 2022
Technology
0
2.4k
Cloud Run が作る世界 #devio2022
DevelopersIO 2022のビデオセッションにて、「Cloud Run が作る世界」というテーマでお話しました。
Takaaki Tanaka
July 21, 2022
Tweet
Share
More Decks by Takaaki Tanaka
See All by Takaaki Tanaka
Zenn のウラガワ ~エンジニアのアウトプットを支える環境で Google Cloud が採用されているワケ~ #burikaigi #burikaigi_h
kongmingstrap
22
8.2k
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
270
製造の課題に立ち向かう Manufacturing Data Engine と Manufacturing Connect の ご紹介
kongmingstrap
0
980
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
770
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
620
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
670
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
1.9k
Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使われている技術
kongmingstrap
0
300
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
1
1.5k
Other Decks in Technology
See All in Technology
トヨタ生産方式(TPS)入門
recruitengineers
PRO
5
1.3k
アジャイルテストで高品質のスプリントレビューを
takesection
0
140
実運用で考える PGO
kworkdev
PRO
0
120
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
120
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
13
3.4k
ここ一年のCCoEとしてのAWSコスト最適化を振り返る / CCoE AWS Cost Optimization devio2025
masahirokawahara
1
300
LLMエージェント時代に適応した開発フロー
hiragram
1
460
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
310
JavaScript 研修
recruitengineers
PRO
5
1.2k
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
120
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
660
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
530
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
A designer walks into a library…
pauljervisheath
207
24k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Typedesign – Prime Four
hannesfritz
42
2.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Docker and Python
trallard
45
3.5k
Transcript
Cloud Run が作る世界 2022/7/22 CX事業本部MAD事業部 田中孝明
田中孝明 (Takaaki TANAKA) • CX事業本部 MAD事業部所属 • 福岡オフィス所属 • 好きな言語:
C++ / Swift • サウナ・スパ プロフェッショナル 2
3 MAD事業部と Google Cloud との関わり https://classmethod.jp/services/mad/
4 Cloud Run
5 Cloud Run • コンテナを直接実行できるマネージドコンピューティング プラットフォーム • コンテナイメージをビルドできるものであれば、任意のプ ログラミング言語で記述されたコードをデプロイできる
6 Cloud Run • Google Cloud 上の他のサービスと連携できる ◦ Pub/Sub ◦
Cloud Scheduler ◦ Cloud Tasks ◦ Eventarc
7 Cloud Run のデプロイ その1
8 Github からビルドして Cloud Run を実行 • ローカルでビルド&実行できるソースコードとDockerfile を用意する ◦
actix/actix-web (Rust) ◦ Dockerfile • Github のリポジトリにソースコードと Dockerfile を Push する https://github.com/kongmingstrap/cloud-run-sampler
9 Github からビルドして Cloud Run を実行 • Cloud Build のトリガーの設定
◦ 自分のリポジトリをソースに設定 ◦ Github の指定したブランチに Push すると、Artifact を作成するビルドが 走る ◦ タイムアウトがデフォルトだと10分な ので注意
10 Github からビルドして Cloud Run を実行 • Cloud Run のサービス作成
◦ Build した コンテナイメージを指定 ◦ その他の設定は必要に応じて
11 Github からビルドして Cloud Run を実行 • Cloud Run の起動が成功
◦ 指定のURLでアクセスできるようになります ◦ 以前のビルドしたバージョンに戻す場合も、リビジョンの切り 替えで可能
12 Cloud Run のデプロイ その2
13 Cloud Run が有効なケース • HTTP、HTTP/2、WebSocket、gRPC 経由で配信されるリク エスト、ストリーム、イベントのいずれかを提供されている こと •
ローカル永続ファイル システムを必要としない https://cloud.google.com/run/docs/fit-for-run?hl=ja
14 Cloud Run が有効なケース • 同時に実行しているアプリの複数のインスタンスを処理 するようにビルドされている • インスタンスごとに 8
個の CPU と 32 GiB のメモリを上限と し、それ以上を必要としない • コンテナ化されていること https://cloud.google.com/run/docs/fit-for-run?hl=ja
15 Cloud Run を実行する2つの方法
16 Cloud Run でコードを実行する2つの方法 • サービス ◦ Webリクエスト、イベントに応答するコードの実行に 使用 •
ジョブ (Preview) ◦ 作業(ジョブ)を実行し、作業の完了後に終了するコードの実 行に使用
17 サービス • 高速なリクエストベースの自動スケーリング • 使い捨てのコンテナファイルシステム • 従量課金制 ◦ リクエストベース
◦ インスタンスベース https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ja#services
18 サービス • 用途 ◦ Webサイト・Webアプリケーション ◦ API とマイクロサービス ◦
ストリーミングデータ処理 https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ja#services
19 ジョブ (Preview) • 一つのコンテナインスタンスで実行 • 独立した同一のコンテナインスタンスを実行することも可 能(配列ジョブ) https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ja#jobs
20 ジョブ (Preview) • 用途 ◦ スクリプトやツール ◦ 配列ジョブ ◦
スケジュールされたジョブ • 第2世代の実行環境が必要 https://cloud.google.com/run/docs/overview/what-is-cloud-run?hl=ja#jobs
21 第2世代
22 Cloud Run 第2世代 (Preview) • 第1世代の実行環境はコールドスタート時間が高速でエ ミュレーションを行う ◦ 全てのOSのシステムコールが実行できるわけではなかった
• 第2世代の実行環境では、Linuxの完全な互換性が実現 ◦ CPUパフォーマンスの高速化 ◦ ネットワークパフォーマンスの高速化 ◦ 全てのシステムコール、名前空間、cgroupのサポートを含 む、Linuxとの互換性
23 Cloud Run 第2世代 (Preview) • ネットワークファイルシステムのサポート ◦ コンテナ内のディレクトリにマウントできる ◦
ホストシステムとコンテナ インスタンスの間でリソースを共有 し、コンテナ インスタンスがガベージ コレクションされた後も リソースを保持できる https://cloud.google.com/run/docs/tutorials/network-filesystems-filestore?hl=ja
24 Cloud Functions 第二世代 (Preview) • Cloud Run + Eventarc
を利用したインフラストラクチャ ◦ HTTP関数に対して、最大60分の実行時間 ◦ 最大 16GB の RAMと4つの vCPU を利用可能 ◦ 異なるリビジョンへのトラフィック分割 https://cloud.google.com/blog/ja/products/serverless/introducing-the-next-generation -of-cloud-functions
25 まとめ • ローカルで動かせる環境をそのままコードとして実行でき るので、開発者のマシンに依存しない開発が可能 • 第二世代の登場で、今までサーバーレスで実現できな かった処理も今後は選択肢になりうる • Cloud
Run は Google Cloud の別のサービス影響を及ぼ しているので、最新情報を追うと他のサービスのアップ デートもキャッチアップできる
None