CloudRunとサーバレスについて

CloudRun

サーバレス

メリット

  • アプリケーション開発に集
  • 他のサービスに提供してもらえる

デメリット

  • 制限がある ランタイムの成約 言語やCPU、同時実行、タイムアウト

コンテナとDocker

コンテナ型と仮想型

  • ホスト型 ハイパーバイザ
  • ドッカー(コンテナ)

従来の形とコンテナ

  • 従来はゲストOSの上に経った。コンテナは、GesutOSが扶養で、Dockerエンジン上にアプリケーションを建てる

Docker用語

  • Dockerイメージ:設計図
  • コンテナ Dockerイメージを元に起動するプロセスの実態
  • DockerfileDockerイメージの内容を定義したもの
  • ドッカーのイメージ。DockerHubとContainerRepository(GCP)

Dockerのメリット

  • Build push/pull rmi(イメージ削除) run start/stop rm(コンテナ削除)
  • Dockerのメリット。軽い。高い柔軟性・だれでもどこでも・スケールできる

CloudRun特徴

  • HTTPリクエストを処理するステートレスなコンテナを実行できる
  • イメージを作ってデプロイするだけ。エンドポイント完備
  • サーバの管理が不要
  • 素早くオートスケール
  • 負荷に応じて0からNインスタンス
  • コンテナ実行なので言語フリー①
  • 複数の機能・処理をまとめて提供できる(複数のリクエスト処理を実行できる)②
  • ①と②がCloudFunctionにはない

制限

  • 1vCPU
  • ⑮分
  • 最大メモリ2GB

CloudRun用語

  • サービス メインのリソース
  • リビジョン サービスにデプロイすると自動で増えていく
  • インスタンス リクエストを受けtら実際に起動するコンテナ

質門

  • OSとかはどこで設定するの?←DockerFileの中に記載されている

DockerFileは大体こんな感じ

  • FROM python:3.7-alpine
  • WORKDIR /app
  • COPY . .
  • RUN pip install flask
  • CMD ["python", "main.py"]

Docker imagesについて

  • DockerImagesにはベースイメージもできてる

CloudRun Deploy

  • デプロイ時 --Platform managedがいる
  • デプロイ時 -betaと付ける必要がある

CloudRunとGKEの使い所は

  • CloudRunは最大スペックメモリ2GB等が決まっているのでそこで満足できるサービスに限りが有る