Slide 1

Slide 1 text

その言語、 Cloud Run で実装してみない? CX事業本部 MAD事業部 田中孝明

Slide 2

Slide 2 text

田中 孝明 (Takaaki TANAKA) ● CX事業本部 MAD事業部所属
 ● 福岡オフィス所属
 ● 好きな言語: C++ / Swift
 ● サウナ・スパ プロフェッショナル


Slide 3

Slide 3 text

Cloud Run について   Cloud Run について

Slide 4

Slide 4 text

Cloud Run を一言で 参照: 「Cloud Run: サーバーレス コンテナの話」 https://cloud.google.com/blog/ja/topics/developers-practitioners/cloud-run-story-serverless-containers “Cloud Run は、 サーバーレスのコンテナ化された マイクロサービスをデプロイして スケールするためのフルマネージド コンピューティング環境です。 “

Slide 5

Slide 5 text

主な機能 ● 任意のプログラミング言語、OSのライブラリを使用できる ● Google Cloud の提供するコンテナ エコシステムとの高い 親和性 ● コードが実行されている間のみ料金が発生(従量課金)

Slide 6

Slide 6 text

Cloud Run : サーバーレスコンテナ ● ベンダーロックインなし ● 高速自動スケーリング ● トラフィックの分割 ● カスタムドメイン ● 自動冗長化

Slide 7

Slide 7 text

各種サービスとの統合 ● Cloud Code ● Cloud Build ● Container Registry / Artifact Registry ● Cloud Monitoring ● Cloud Logging ● Cloud Debugger

Slide 8

Slide 8 text

呼び出し方 ● HTTPS ● gRPC ● WebSockets ● Pub/Sub からのトリガー ● スケジュールに沿ってサービスを実行 (Cloud Scheduler) ● 非同期タスクとして実行 (Cloud Tasks)

Slide 9

Slide 9 text

Eventarc で 60 以上の Google Cloud サービスと連携 ● Eventarc からのイベントをトリガーに Cloud Run を実行 参照: 「60 を超える Google Cloud ソースのイベントで Cloud Run をトリガーする」 https://cloud.google.com/blog/ja/products/serverless/build-event-driven-applications-in-cloud-run

Slide 10

Slide 10 text

Cloud Run から Cloud SQL への接続 ● パブリックIPパスの場合は Cloud Run によって暗号化が行 われ、 Cloud SQL Auth Proxy を使用して Unix ソケット 経由で接続 ● プライベートIPパスの場合はサーバーレスVPCアクセスを 介してインスタンスに直接接続

Slide 11

Slide 11 text

Cloud Functions との棲み分け Cloud Functions との棲み分け

Slide 12

Slide 12 text

Cloud Functions との棲み分け ● Cloud Functions は限られたプログラミング言語のコード (関数)をデプロイする ● リクエストタイムが Cloud Run が最大 60 分、Cloud Functions は最大 9 分 ● Cloud Run はデフォルトで各コンテナインスタンスで複数 の同時リクエストを送信するように構成

Slide 13

Slide 13 text

CPUが割り当てられる機能がプレビューに ● 応答を返した後にバックグラウンドタスク、その他の非同 期処理を実行する ● CPUリソースにフルアクセスした状態で一定数のコンテナ インスタンスを稼働させ続けられる 参照: 「新しい CPU 割り当てコントロールにより Cloud Run 上でさらに多様なワークロードを実行」 https://cloud.google.com/blog/ja/products/serverless/cloud-run-gets-always-on-cpu-allocation

Slide 14

Slide 14 text

本題 好きな言語で実装してみる 14

Slide 15

Slide 15 text

他の言語でサービスをビルドしてデプロイする ● 各言語のサンプルアプリケーションを提供 ○ kotlin ○ Swift ○ Dart ○ Rust ○ Elixir ○ Deno ○ etc... 参照: 「他の言語でサービスをビルドしてデプロイする」 https://cloud.google.com/run/docs/quickstarts/build-and-deploy/other

Slide 16

Slide 16 text

他の言語でサービスをビルドしてデプロイする 参照: 「他の言語でサービスをビルドしてデプロイする」 https://cloud.google.com/run/docs/quickstarts/build-and-deploy/other

Slide 17

Slide 17 text

まとめ ● Cloud Functions で制限に引っかかる処理も実行可能 ● Docker コンテナにパッケージ化しているアプリケーショ ンの資産を利用できる ● コンテナにパッケージ化できれば好きな言語で実装できる

Slide 18

Slide 18 text

No content