Upgrade to Pro — share decks privately, control downloads, hide ads and more …

その言語、 Cloud Run で実装してみない? #devio2021

その言語、 Cloud Run で実装してみない? #devio2021

MAD事業部では以前から一部使われていた Google Cloud を本格的に利用しようという動きがあります。個人的に好きなサービスである Cloud Run を使った内容をお話しします。

BLOG: https://dev.classmethod.jp/articles/devio2021-overview-cloud-run/

Takaaki Tanaka

October 06, 2021
Tweet

More Decks by Takaaki Tanaka

Other Decks in Technology

Transcript

  1. 田中 孝明 (Takaaki TANAKA) • CX事業本部 MAD事業部所属
 • 福岡オフィス所属
 •

    好きな言語: C++ / Swift
 • サウナ・スパ プロフェッショナル

  2. Cloud Run を一言で 参照: 「Cloud Run: サーバーレス コンテナの話」 https://cloud.google.com/blog/ja/topics/developers-practitioners/cloud-run-story-serverless-containers “Cloud

    Run は、 サーバーレスのコンテナ化された マイクロサービスをデプロイして スケールするためのフルマネージド コンピューティング環境です。 “
  3. 各種サービスとの統合 • Cloud Code • Cloud Build • Container Registry

    / Artifact Registry • Cloud Monitoring • Cloud Logging • Cloud Debugger
  4. 呼び出し方 • HTTPS • gRPC • WebSockets • Pub/Sub からのトリガー

    • スケジュールに沿ってサービスを実行 (Cloud Scheduler) • 非同期タスクとして実行 (Cloud Tasks)
  5. 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
  6. Cloud Run から Cloud SQL への接続 • パブリックIPパスの場合は Cloud Run

    によって暗号化が行 われ、 Cloud SQL Auth Proxy を使用して Unix ソケット 経由で接続 • プライベートIPパスの場合はサーバーレスVPCアクセスを 介してインスタンスに直接接続
  7. Cloud Functions との棲み分け • Cloud Functions は限られたプログラミング言語のコード (関数)をデプロイする • リクエストタイムが

    Cloud Run が最大 60 分、Cloud Functions は最大 9 分 • Cloud Run はデフォルトで各コンテナインスタンスで複数 の同時リクエストを送信するように構成
  8. 他の言語でサービスをビルドしてデプロイする • 各言語のサンプルアプリケーションを提供 ◦ kotlin ◦ Swift ◦ Dart ◦

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