「Knative」とは? Kubernetesでサーバレスを実現する「FaaS」以外の選択肢「Knative」とは何か【前編】

「Kubernetes」ユーザーがイベント駆動型プログラミングによるサーバレスアーキテクチャを実現したい場合、有力な手段となるのが「Knative」だ。クラウドサービスの「FaaS」とは何が違うのか。

2020年09月28日 05時00分 公開
[Tom NolleTechTarget]

 サーバの存在を意識せずにアプリケーションを開発・運用できる「サーバレスアーキテクチャ」を具現化する代表的な手段が、特定のイベントをトリガーにしてプログラムを自動実行する「イベント駆動型プログラミング」だ。イベント駆動型プログラミングを導入したいと考える企業の中には、クラウドサービスの「FaaS」(Function as a Service)の利用を検討する人もいるだろう。だがFaaSが必ずしもニーズに合うとは限らない。そうした場合、イベント駆動型プログラミングを実現する別の手段として「Knative」が選択肢になる。前後編にわたり、Knativeの具体的な用途、メリット、課題について、特にFaaSを使った場合と比較して紹介する。

 Knativeは、コンテナの運用管理を自動化するコンテナオーケストレーター「Kubernetes」で、イベント駆動型プログラミングを実現しやすくするソフトウェアだ。クラウドサービスであれオンプレミスのインフラであれ、Kubernetesを実行できるインフラであればKnativeも導入できる。

KnativeはFaaSと何が違うのか

会員登録(無料)が必要です

 アーキテクチャ的には、Knativeはイベントを集約・伝達する層として、コンテナオーケストレーターと、コンテナ間の通信を制御する「サービスメッシュ」の間に置かれる。具体的には、コンテナオーケストレーターとしてKubernetesを、サービスメッシュとして「Istio」を利用する。Kubernetesはコンテナのデプロイ(配備)を実行し、Istioはコンポーネントや機能同士を相互に接続する役割を持つ。

 Knativeはイベントを認識すると、そのイベントに関連付けられたプロセスを実行する。Knativeはプロセスが実行されている時のみCPUやメモリといったリソースを割り当てる。そのためKnativeを利用すれば「起きる可能性はあっても、現時点では起きていないイベント」のためにリソースを割り当てる必要がなくなる。

リソース利用タイプで比較

 イベント駆動型プログラミングでは、イベントのトリガーに応じて処理を実行する。イベント発生時に実行するプログラム(関数)の実行単位である「関数インスタンス」の数は、利用しているサーバの容量と、管理者が定義した関数インスタンスの上限に基づいて制限がかかる。FaaSは、理想的にはリソースに関する制限を持たないが、実際はコストに関する制約がある。トリガーを用意するイベントの数が増えると、コストも増加する恐れがある。

 Kubernetesがクラウドサービスとオンプレミスのインフラのどちらで稼働していても、Knativeを利用できる。例えばGoogleのハイブリッドクラウド構築サービス「Anthos」を通じて、複数のKubernetesクラスタ(Kubernetesによるアプリケーション実行のためのマシン群)を一括管理できるようにKubernetesクラスタ同士を連携(フェデレーション)させている場合、それらのKubernetesクラスタを横断的に活用したイベント駆動型プログラミングを実現できる。これは利用可能なリソースとコストが決まっていて、コンテナに配備するアプリケーションの利用リソースが予想できる場合に適している。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

新着ホワイトペーパー

製品資料 ServiceNow Japan合同会社

生成AIで「ローコード開発」を強化するための4つの方法

ビジネスに生成AIを利用するのが当たり前になりつつある中、ローコード開発への活用を模索している組織も少なくない。開発者不足の解消や開発コストの削減など、さまざまな問題を解消するために、生成AIをどう活用すればよいのか。

製品レビュー 発注ナビ株式会社

システム開発の4つの手法とは? システム開発の流れや専門用語を基礎から解説

システム開発を任されても、「何から始めたらよいのか分からない」という担当者は多いだろう。そこで本資料では、システム開発の流れや専門用語といった基礎知識を分かりやすく解説するとともに、システム開発の4つの手法を紹介する。

製品資料 株式会社AGEST

短納期化が進むシステム開発、なぜテストのアウトソーシングが増えているのか

システムの不具合によるさまざまなリスクを回避するには網羅的なテストを行う必要があるが、自社で行うのは難しい。そこで活用したいのが外部のテスト専門会社だ。本資料ではテスト専門会社を活用するメリットや具体的な流れを解説する。

製品資料 サイボウズ株式会社

レガシーシステムからどう脱却する? 今の時代の基幹システムの在り方

レガシーシステムからの脱却が叫ばれる中、「ERP×ノーコードツール」のアプローチで基幹システムの刷新に取り組む企業が増加している。その推進に当たっては、「Fit to Company Standard」の概念を頭に入れておくことが必要になる。

製品資料 株式会社ビルドシステム

「ローコード開発×内製化」失敗の理由とは? 3つの事例から得た2つの教訓

迅速なサービスの提供を実現する手段として、「ローコード開発×内製化」が注目されている。エンジニア不足の中でも、非IT部門が開発を担える点がその理由の1つだが、全てが順調に進むわけではない。失敗事例から得た2つの教訓を紹介する。

アイティメディアからのお知らせ

From Informa TechTarget

「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ

「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。

ITmedia マーケティング新着記事

news017.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news027.png

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news023.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...