LoginSignup
4
3

More than 3 years have passed since last update.

[Next 2019聴講メモ] Cloud Run ~Knativeを使った新しいサーバーレス

Last updated at Posted at 2019-08-05

※※2019/08/14 追記 YouTubeに投稿されたセッションのリンクを追加しました。※※

Cloud Run ~Knativeを使った新しいサーバーレス

  • 篠原一徳
    • Google Cloud
    • Anthos
    • serverless
    • k8s
  • YouTube

そもそもserverlessって?(Googleの定義)

  • no infra management
    • インフラの管理はユーザーでは行わない
  • fully managed security
    • Google側でセキュリティ問題が完結している
  • pay only for usage
    • 従量課金制

googleのサーバーレスコンピュート

  • Functions
  • App engine
  • Cloud Run

why Cloud Run?

  • Cloud Run以外で起こる問題点
    • 使用できる言語、ライブラリに制約
    • ベンダーロックイン
    • GPU/TPUなど特定のハードへのアクセスができない
  • 解決のために
    • Knative
    • k8sクラスタにFaaS/PaaS実行環境を構築
      • OSS(Google発祥)
      • コンテナをサーバーレスライクに使える
      • k8sクラスターのハードウェアリソースが使える(GPU/TPU)
    • building block
      • platform
        • k8s
        • istio
      • Primitives(use Knative)
        • build
        • serving
        • Events
      • Products
        • SAP
        • Cloud Run
        • Cloud Run on GKE
        • etc

特徴

  • 高速なデプロイ
    • ステートレスなコンテナ
    • 高速に0から無限にスケール
    • 数秒でデプロイ
  • サーバーレスネイティブ
    • コードに集中できる
      • ランタイムの制約がなくなる
  • 高いポータビリティ
    • コンテナベースのため
    • Knativeベースであれば他ベンダーでも使える

2つのCloud Run

  • Cloud Run
    • 完全にサーバーレス
    • 使った分だけ
    • Borgが使われている
    • VPCアクセスできない
  • Cloud Run on GKE
    • クラスターの費用に依存する
    • VPCアクセスできる

2つの対比としてはこちらがよくわかりやすい(らしい)

リソースモデル

  • Service
    • Cloud Runの主リソース
    • Service毎にエンドポイントを提供
  • Revision
    • デプロイする毎に生成される
    • デプロイされるとリクエストが割り振られる
  • Container Instance

ユースケース

  • 外部サービス公開
  • IAMをつかってプライベートにアクセス
    • エンドポイント自体はネットワークに公開される(ファイアウォールはない)
    • ソースに認証トークンを埋める
  • 非同期タスク
  • Cloud Schedulerを使って定期的に呼び出す
  • DB接続

なぜ高速にデプロイできるのか

  • gVisorを使っている
    • システムコールを阻害
  • concurrencyを使ったリソース消費とコストの最適化
    • 1つのコンテナインスタンスに投げられるリクエストの最大数
    • コンテナとかを適切に制御
    • チューニングポイントになる
      • レイテンシーとかに関わる
    • 時間課金の考え方
      • 完全にアクセスがなくなるまで
  • Stackdriverとの連携
    • Monitoring
    • logging
    • error reporting

どうサーバーレスを使い分ける?

  • Functions
    • ソースベース
    • イベントドリブン
  • App Engine
    • ソースベース
    • 1プロジェクトにつき1リージョンの制約
  • Cloud Run
    • コンテナベース
    • ランタイム制約・ロックインなし ​

まとめ

  • Cloud Runはコンテナをサーバーレスに使える
  • 様々な制約がない(言語、ランタイム)
  • YouTube

個人的に調べたいToDo

  • gVisor
  • Cloud RunとCloud Run on GKEの対比
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3