Knative
最新のサーバーレス ワークロードをビルド、デプロイ、管理できる Kubernetes ベースのプラットフォームです。
すべてのデベロッパーに不可欠な基本要素
Knative は、オンプレミス、クラウド、サードパーティのデータセンターなど、場所を選ばず実行できるソース中心でコンテナベースの最新アプリケーションを構築する際には不可欠な一連のミドルウェア コンポーネントです。Knative コンポーネントは Kubernetes をベースに構築されており、現実に成功した Kubernetes ベースのフレームワークによって共有されているおすすめの方法をコード化しています。デベロッパーは面白いコーディングだけに集中でき、アプリケーションのビルド、デプロイ、管理の「退屈だが難しい」部分について心配する必要はありません。

デベロッパー向けのソフトウェア
Knative は日常的であっても困難な多数のタスクの解決に重点を置く再利用可能なコンポーネントのセットを提供します。具体的には、ソースからコンテナに至るワークフローのオーケストレーション、デプロイ中に生じるトラフィックのルーティングと管理、ワークロードの自動スケーリング、イベンティング エコシステムに対する実行中のサービスのバインドなどです。デベロッパーは使い慣れたイディオム、言語、フレームワークを利用して、ワークロード(機能、アプリケーション、コンテナ)をデプロイすることもできます。

一般的な開発パターンをサポート
Knative は慣用的なデベロッパー エクスペリエンスに重点を置いています。GitOps、DockerOps、ManualOps などの一般的な開発パターンに加えて、Django、Ruby on Rails、Spring など多数のツールやフレームワークをサポートしています。

柔軟性と制御の両立
Knative は既存のビルドや CI / CD のツールチェーンに接続しやすくなるように設計されています。場所を問わず、任意のクラウド、Kubernetes でサポートされる任意のインフラストラクチャで実行できるオープンソース優先のテクノロジーを重視することで、実行に最適な場所にワークロードを自由に移動できます。これにより、お客様は独自の要件に合わせてシステムを調整するために必要な柔軟性と制御が得られます。

オペレーターが使いやすい
Knative は、すべての大手クラウド プロバイダがサービスとして実行できるように設計されています。Google は現在、Pivotal、SAP、Red Hat、IBM をはじめ、多数の業界リーダーと協力し、デベロッパーのニーズに最適な構成要素を作成しています。Knative は実際のワークロードに利用されており、Kubernetes や Istio などの他の最先端技術と互換性があります。

Kubernetes Engine でサーバーレス ワークロードを実行
サーバーレス アドオンを有効にし、サーバーレス ワークロードを Google Kubernetes Engine(GKE)で実行できるようになりました。サーバーレス アドオンは、Knative を利用し、ワンクリックでビルド、処理、イベントをオーケストレートできるため、GKE の柔軟性や制御を備えた慣用的なデベロッパー エクスペリエンスのメリットが得られます。
Knative の機能
機能名 | 機能の説明 |
---|---|
処理中 | ゼロまでスケーリング、リクエスト ベースのコンピューティング モデル |
ビルド | クラウド ネイティブなソースからコンテナに至るオーケストレーション |
イベント | イベントのユニバーサルなサブスクリプション、配信、管理 |
GKE でのサーバーレス アドオン | Kubernetes で GCP 管理サーバーレス スタックを有効化 |
Knative のおかげで、デベロッパーはビジネス ロジックの構築に集中でき、ビルドやデプロイ、自動スケーリング、モニタリング、状態決定といった低レベルのプラットフォーム機能の作成に煩わされずに済んでいます。たとえば、Java / Vert.x で開発した T-Mobile 店舗検索アプリは、Knative を使用して簡単に GCP に移行できました。この移行をごく短期間に実現できたのは、Knative にプラットフォーム レベルの機能が数多く揃っており、デベロッパーによる構築が不要だったからです。
Ram Gopinathan 氏 T-Mobile 社プリンシパル テクノロジー アーキテクト

リソース
Knative のインストール
ビルド済みのイメージを使用した、最新バージョンの Knative 向けのインストール ガイド
Knative のドキュメント
Knative とそのコンポーネントの概要をまとめて確認
デベロッパー向けリソース
一般的な言語の Hello World コードサンプル
Knative のビルド
ソースからコンテナに至るワークフローのビルドとオーケストレーション
テンプレートの作成
ビルド テンプレートのライブラリから選択
イベンティング
Knative イベントのバインディングや配信の仕様と実装