Google は、Knative 1.0 プラットフォームの安定版リリースを発表しました。これは、Kubernetes プラットフォームに基づくコンテナ分離システム上に展開されるサーバーレス コンピューティング インフラストラクチャを作成するように設計されています。 Google に加えて、IBM、Red Hat、SAP、VMware などの企業も Knative の開発に携わっています。 Knative 1.0 のリリースはアプリケーション開発 API の安定化を示し、今後も変更されず、下位互換性も維持されます。プロジェクト コードは Go で記述され、Apache 2.0 ライセンスに基づいて配布されます。
Knative が提供するサーバーレス アプリケーション開発モデルは、クラウド システムに追加の抽象化レベルを提供し、機能をサービス (FaaS、サービスとしての機能) として実行できるようにします。サーバーレス モデルの本質は、開発者がアプリケーションを実行するためのインフラストラクチャの作成と管理を気にせず、また特定のサーバー アプリケーションやその運用に必要なクラウド環境に縛られることなく、個々の機能レベルでロジックを実装できることです。
モノリシックなアプリケーションを作成することなく開発が行われ、小さな個別の機能の集合を用意するレベルで、それぞれが特定のイベントの処理を保証し、環境を参照せずに個別に動作するように設計されています(ステートレスで結果が環境に依存しない)ファイル システムの以前の状態と内容)。関数は、必要が生じた場合にのみ起動され、イベントの処理後、すぐに作業を完了できます。マイクロサービスとは異なり、アイドル状態のリソースを消費する実行環境を常に存在させる必要はありません。
Knative プラットフォーム自体は、必要に応じてコンテナを起動し、そのコンテナ内に準備された機能を配置し、管理を組織し、これらの機能を実行するために必要な環境のスケーリングを保証します。このプラットフォームは、外部のクラウド サービスに縛られずに単独で展開できます。実行するには Kubernetes のみが必要です。 Django、Ruby on Rails、Spring などのさまざまな一般的なフレームワークをサポートするツールが提供されています。コマンド ライン インターフェイスを使用して、プラットフォームの動作を制御できます。
このプラットフォームは、次の 2 つの主要コンポーネントを提供します。
- ネットワーク通信、ルーティング、変更の追跡 (ホストされたコードと設定のスナップショットの作成) の自動構成を使用して、Kubernetes でサーバーレス コンテナーを実行し、必要なレベルのスケーリングを維持します (アクティビティがない場合にポッドの数をゼロに減らすまで)。 。開発者はロジックのみに重点を置き、実行に関連するものはすべてプラットフォームによって処理されます。ネットワーク インタラクションとルーティング リクエストを整理するには、ネットワーク サブシステム Ambassador、Contour、Kourier、Gloo、Istio を使用できます。 HTTP/2、gRPC、WebSocket がサポートされています。
- Eventing は、サブスクリプション (ハンドラーのアタッチ)、配信、およびイベント管理のための汎用システムです。オブジェクト モデルとイベント処理メカニズムを使用してコンピューティング リソースをデータ ストリームに接続することにより、非同期で実行されるアプリケーションを作成できます。
出所: オープンネット.ru