Elevator Pitch
コンテナをサーバレス環境で実行できるGCPの新サービス「Cloud Run」。このサービスは、Kubernetes上でサーバレス環境を実現する「Knative」をベースにして作られています。
ここではKnativeの構成要素の一つである”Serving”に着目し、Knativeの観点から見たCloud Runの構造や、Knativeがどのようにコンテナサーバーレスを実現しているかを紹介します。
本講演が「K8s上での開発・運用コストを下げたい」「プラットフォームに依存せずサーバーレスを実現したい」「そもそもKnativeとは何かを知りたい」といった方々の基礎となることを期待しています。
Description
近年ではアプリケーションをKubernetes上で運用する事例も増えてきました。そのような中で、Kubernetes上でのアプリケーション開発・運用をさらに便利にするために、k8sエコシステムの上でサーバーレス環境やCI/CDを実現する「Knative」が注目されています。
そしてコンテナサーバーレスをKubernetes上で可能にするCloud Runは、このKnativeのコンポーネントの一つである”Serving”をベースに構築されています。 しかし普通にCloud Runを使用しているだけではその仕組み、またそれがどのようにKnativeと関係があるのかは私たちの目には見えません。
そこで本セッションでは、コンテナサーバーレスを支えるKnative Servingの詳細、および Knativeの視点から見たCloud Runの構造 を、実際にGKE上でCloud Runを動かしながら説明します。
Knative自体の概要から入り、KnativeのServingを構成する4つのCRD(Custom Resource Definition)を詳しく見ていきながら、CloudRunとの関係性について理解していきます。
またそれらは「Knativeの目指すサーバーレス」とはどんなものなのかを知っておくことで、より理解が深まります。
これについては、CNCF Serverless Whitepaper v1.0で言及されており、ここについても触れていきます。
Knativeというものはクラウドプラットフォームに依存せずサーバーレスなコンテナ運用やCI/CDを実現する技術でもあるため、Google Cloud RunにとどまらないKubernetes上でのサーバーレスワークロードについて理解を深めていく一歩になれればと思います。
Notes
10分のトークを希望します。