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.3k
Cloud Run が作る世界 #devio2022
DevelopersIO 2022のビデオセッションにて、「Cloud Run が作る世界」というテーマでお話しました。
Takaaki Tanaka
July 21, 2022
Tweet
Share
More Decks by Takaaki Tanaka
See All by Takaaki Tanaka
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
製造の課題に立ち向かう Manufacturing Data Engine と Manufacturing Connect の ご紹介
kongmingstrap
0
660
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
610
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
510
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
560
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
1.6k
Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使われている技術
kongmingstrap
0
220
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
0
1.3k
CPUブーストの話
kongmingstrap
0
62
Other Decks in Technology
See All in Technology
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
350
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
540
Storage Browser for Amazon S3
miu_crescent
1
220
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
17
15k
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
290
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Designing for Performance
lara
604
68k
Practical Orchestrator
shlominoach
186
10k
It's Worth the Effort
3n
183
28k
Optimising Largest Contentful Paint
csswizardry
33
3k
Designing for humans not robots
tammielis
250
25k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
The Cult of Friendly URLs
andyhume
78
6.1k
Into the Great Unknown - MozCon
thekraken
33
1.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
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