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
280
製造の課題に立ち向かう Manufacturing Data Engine と Manufacturing Connect の ご紹介
kongmingstrap
0
1k
Tellus の衛星データを見てみよう #mf_fukuoka
kongmingstrap
0
780
JAWS-UG 福岡 #16 re:Invent 現地に行った人のお話 #jawsugfuk #jawsug
kongmingstrap
0
630
AppMod の開発のイマを知るために現地に潜入した私が見たものは・・・? #GoogleCloudNext
kongmingstrap
0
680
Kong Gateway から読みとく、 API統合・API連携サービスの最新情報 #devio2023
kongmingstrap
0
2k
Cloud Run に憧れて Google Cloud を推進している話 / CX事業本部で使われている技術
kongmingstrap
0
310
AWS / Google Cloud / Azure それぞれの推しサービス.pdf
kongmingstrap
1
1.5k
Other Decks in Technology
See All in Technology
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
140
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
SREとソフトウェア開発者の合同チームはどのようにS3のコストを削減したか?
muziyoshiz
1
100
BirdCLEF+2025 Noir 5位解法紹介
myso
0
190
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
140
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
150
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
340
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
0
120
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
110
Pure Goで体験するWasmの未来
askua
1
180
自動テストのコストと向き合ってみた
qa
0
120
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
910
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Six Lessons from altMBA
skipperchong
28
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Agile that works and the tools we love
rasmusluckow
331
21k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How GitHub (no longer) Works
holman
315
140k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
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