Slide 1

Slide 1 text

Jun Sakata Google Developers Expert, Cloud @sakajunquality Cloud Run 入門 2021.02.04 #gdgtokyo GDG Tokyo New Year LT大会 2021

Slide 2

Slide 2 text

アジェンダ Cloud Run - Cloud Runとは - 使い方 - 他のプロダクトとの比較 - まとめ

Slide 3

Slide 3 text

Cloud Runとは コンテナを秒単位で本番環境にデプロイ

Slide 4

Slide 4 text

Cloud Run - フルマネージドのサーバーレスのプラットフォーム - 時間課金 / Scale to 0 - 任意コンテナイメージをデプロイ - HTTP / gRPC / WebSocket

Slide 5

Slide 5 text

Cloud Run - サーバーレスのアプリケーション - 任意コンテナイメージをデプロイ - HTTP / gRPC / WebSocket Cloud Run HTTP

Slide 6

Slide 6 text

Cloud Run - サーバーレスのアプリケーション - 任意コンテナイメージをデプロイ - HTTP / gRPC / WebSocket Cloud Run gRPC

Slide 7

Slide 7 text

使い方

Slide 8

Slide 8 text

Containers? - i.e. Docker Image

Slide 9

Slide 9 text

コンテナのリリース ソースコード コンテナ イメージ 実行環境

Slide 10

Slide 10 text

コンテナのリリース ソースコード コンテナ イメージ 実行環境 ビルド デプロイ

Slide 11

Slide 11 text

Dockerfile?

Slide 12

Slide 12 text

// 書く vim Dockerfile // ビルド gcloud builds submit --tag [image] . // デプロイ gcloud run deploy --image [image]

Slide 13

Slide 13 text

Dockerfile書きたくない?

Slide 14

Slide 14 text

Google Cloud buildpacks - Dockerfileなしにコンテナイメージを作成 - CNCFのBuildpacksをベースとしたOSS - https://github.com/GoogleCloudPlatform/buildpacks

Slide 15

Slide 15 text

// けす rm Dockerfile // ビルド gcloud builds submit --pack image=[image] // デプロイ gcloud run deploy --image [image]

Slide 16

Slide 16 text

1コマンドで?

Slide 17

Slide 17 text

// いらない rm Dockerfile // ビルドとデプロイ gcloud beta run deploy --source .

Slide 18

Slide 18 text

コンテナのリリース(buildpacks) ソースコード コンテナ イメージ 実行環境

Slide 19

Slide 19 text

Dockerfileそれでも書いた ほうがいい場合も?

Slide 20

Slide 20 text

Cloud Runのリソース

Slide 21

Slide 21 text

Cloud Run リソース - CPU: 1,2,4 vCPU - Memory: max 8GB - 最大のリクエスト: 15m (GA), 60m (Preview) - インスタンス数: 0-1000 (最小も指定可能に) - インスタンスあたりの同時リクエスト: 1-250 - Custom Domain/Custom TLS Certificate - Cloud Traceとの連携

Slide 22

Slide 22 text

Cloud Run 簡易CIも - GitHubやCloud Source Repositiriesのソースコードに対してCloud Runに 対するデプロイのパイプラインをGUIで設定可能 - https://cloud.google.com/run/docs/continuous-deployment-with-clo ud-build

Slide 23

Slide 23 text

Cloud Run w/ GitHub Actions - GitHub Actionsのヘルパーも公式で用意されている - https://github.com/google-github-actions/setup-gcloud

Slide 24

Slide 24 text

Cloud Runの連携 - Cloud Workflow - Cloud API Gateway - Eventarc - etc...

Slide 25

Slide 25 text

Cloud Run Eventarc - Event driven trigger via Audit Logging - https://cloud.google.com/blog/topics/developers-practitioners/event arc-unified-eventing-experience-google-cloud

Slide 26

Slide 26 text

他のGCPのプロダクト と比較?

Slide 27

Slide 27 text

v.s. App Engine (GAE) - 対応言語やバージョンの縛りがなくなる - Service Account が柔軟(複数サービス展開時) - App Engineのがいいことも - Static Contents Server / Cloud CDN - Cloud IAP - (GAEの内部でも buildpack 使われてる)

Slide 28

Slide 28 text

v.s. Cloud Functions (GCF) - Runは各インスタンスが同時に複数リクエスト受けることができる - 主要言語に Functions フレームワークも提供しているのでRunをFaaSのよ うな利用でも利用可能 - https://cloud.google.com/functions/docs/functions-framework?hl= en

Slide 29

Slide 29 text

v.s. Kubernetes Engine (GKE) - クラスター課金ではなくリクエストベースの課金 - クラスターが管理不要なので気軽に始められる - GKEのほうが柔軟性はある - プロトコル, 実行時間の縛り, サイドカー, ローカルのディスクなど

Slide 30

Slide 30 text

まとめ Cloud Runはいいぞ!

Slide 31

Slide 31 text

まとめ - Cloud Runはフルマネージドのサーバーレスランタイム - BuildpacksによりDockerfileを書かなくてもよい - 日々アップデートされており柔軟なワークロードに対応 - リリースノート - https://cloud.google.com/run/docs/release-notes?hl=en

Slide 32

Slide 32 text

Thank You! Jun Sakata Google Developers Expert, Cloud @sakajunquality