概要
Knative (読み:ケイネイティブ) は、サーバーレスのクラウドネイティブ・アプリケーションをデプロイ、実行、管理するためのコンポーネントを Kubernetes に追加するオープンソース・コミュニティ・プロジェクトです。このサーバーレス・クラウド・コンピューティング・モデルにより、開発者の生産性向上と運用コストの削減が実現します。
Knative のメリット
Knative によって、サーバーのプロビジョニングと管理のタスクが不要になります。これにより、開発者は複雑なインフラストラクチャのセットアップを気にせず、コードに集中することができます。このメリットは、アプリケーション・コンポーネント全体を社内で開発するのではなく、サードパーティのものを BaaS (Backend-as-a-Service) を介して統合する場合にも有効です。
Knative のサーバーレス環境では、Red Hat OpenShift などの Kubernetes プラットフォームにコードをデプロイできます。Knative では、コードをコンテナイメージとしてパッケージ化し、それをシステムに引き渡すことでサービスを作成します。コードは必要な場合にのみ実行され、インスタンスは Knative によって自動的に開始および停止されます。コードが何かを実行する必要がなければ、リソースは消費されません。また、固有のサーバーを常時実行して管理するのではなく、必要に応じてクラウドベースのコンピュート時間単位で料金を支払えばよいので、運用コストの削減も可能です。
Knative のコンポーネント
Knative の主要コンポーネントは次の 3 つです。
- Build - ソースコードをコンテナにビルドするための柔軟なアプローチ
- Serving - 要求に基づいてワークロードをサーブするリクエスト駆動型モデルによるコンテナの迅速なデプロイと自動スケーリング
- Eventing - アプリケーションを活動させるイベントを消費および作成するためのインフラストラクチャ。アプリケーションは、独自のアプリケーションのイベント、複数のプロバイダーのクラウドサービス、SaaS (Software-as-a-Service) システム、Red Hat AMQ ストリームなどのさまざまなソースによってトリガーされます
Red Hat Developer でブログを読む
Knative とオープンソースのメリット
Knative を使用すると、Red Hat OpenShift Container Platform を含む Kubernetes プラットフォーム上で、サーバーレス・アプリケーションをデプロイおよび実行できます。Knative は Operator を使用して OpenShift にインストールします。
Knative は、Red Hat、Google、IBM などの企業を含むオープンソース・コミュニティによって、さまざまなスタートアップと共同で管理されています。オープンソース・ソフトウェアを使うとベンダーロックインに陥りにくくなり、IT プロバイダーではなく利用者が主導権を握ることができます。
Knative と Red Hat OpenShift Serverless
Red Hat® OpenShift® Serverless は、オープンソースの Knative プロジェクトをベースとするサービスです。エンタープライズレベルのサーバーレス・プラットフォームを提供し、ハイブリッドおよびマルチクラウド環境全体に可搬性と一貫性をもたらします。
OpenShift Serverless は、アプリケーションを OpenShift Service Mesh やクラスタモニタリングなどの他の OpenShift Container Platform サービスと統合することで、アプリケーションの開発とデプロイメントをすべてサーバーレスで行えるようにします。
また、Red Hat OpenShift Serverless は、OpenShift へのインストールが容易であることに加え、他の Red Hat 製品でもテスト済みであり、受賞歴のあるサポートを利用できるので、運用が容易になります。