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.2k
Cloud Run が作る世界 #devio2022
DevelopersIO 2022のビデオセッションにて、「Cloud Run が作る世界」というテーマでお話しました。
Takaaki Tanaka
July 21, 2022
Tweet
Share
More Decks by Takaaki Tanaka
See All by Takaaki Tanaka
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
390
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
370
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
460
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
1.1k
Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使われている技術
kongmingstrap
0
140
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
0
1.2k
CPUブーストの話
kongmingstrap
0
35
私のAWS愛を聞け! ~ここが好きだよStep Functions~ #devio2022
kongmingstrap
0
980
開発者として気になったアップデート群 re:Growth Online
kongmingstrap
0
850
Other Decks in Technology
See All in Technology
テストコードを書きながらCompose Multiplatformを乗りこなす
subroh0508
0
150
シンプルなHITL機械学習と様々なタスクにおけるHITL機械学習
naohachi89
0
340
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
使われないものを作るな!出口から作るデータ分析基盤 / Data Platform Development Starting from the User Needs
amaotone
16
4.9k
AI JIMY - 登壇(インストール編)
hanacchi
0
150
YJIT Makes Rails 1.7x faster / RubyKaigi 2024
k0kubun
4
570
サービス開発におけるVue3とTypeScriptの親和性について
tsukuha
10
1.8k
AWSの生成AI入門書を執筆しました🎉
minorun365
PRO
0
150
.NET GraphQL Client のリアル
sansantech
PRO
1
460
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
12
7.9k
LINEヤフーのウェブアクセシビリティ
lycorptech_jp
PRO
3
210
20240516 OpenID TechNight Vol.21 OpenIDファウンデーション・ジャパンの 今後の活動について
oidfj
0
170
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Embracing the Ebb and Flow
colly
80
4.2k
Scaling GitHub
holman
457
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
The Invisible Side of Design
smashingmag
294
49k
Designing the Hi-DPI Web
ddemaree
276
33k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Building Effective Engineering Teams - LeadDev
addyosmani
33
1.9k
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