Kong
従って、「どうしてもIstioを使ってサービスメッシュを構築したい」という人たちに対して、「Istioを使うな、Kongを使え」というのは得策ではないし、そのつもりもないとパラディーノ氏は言う。 では、今後KongとIstioの関係をどうしていきたいのか。
「今回のサービスメッシュ対応は、最初の一歩だ。Istioはマイクロサービスにおけるエコシステムとして、今後拡大していくと確信している。実際、低レイヤーのネットワークポリシーを構成するのに優れている。そこで、KongではIstioとの統合を進める。私たちは既に、OpenTracingやPrometheusといったCNCF(Cloud Native Computing Foundation)のプロジェクトをサポートしている。サービスメッシュ対応の次に行うのは、Istioとの統合。その次にはgRPCのサポートなどを進めていく」 「統合」とは何を意味するのか。まず、Istioでマイクロサービス単位に導入するプロキシは、デフォルトではEnvoyだが、他のプロキシに置き換えることも可能だ。そこでユーザーがこれを、NginxベースのKongノードにする。その上で、Istioによる制御ができる。 さらに、IstioとKongのコントロールプレーンを併用し、どちらからもマイクロサービス単位のプロキシを制御できるようになる。
「Istioではネットワーキングポリシーを制御し、その他についてはKongで制御するといったことができる。Istioでネットワーク制御だけをしたい人はいるし、Kongだけを使ってネットワークポリシーとその他の制御を同時に行いたい人もいる。さらに双方を併用したい人もいる。結局、それぞれのユーザー組織にとって、この3つの選択肢のどれがしっくりくるかに依存する。私たちは、Istioを競合相手とは考えていない。マイクロサービス間の通信制御、サーキットブレーカー、ヘルスチェックなどの機能は、もはやコモディティだからだ」
パラディーノ氏が言いたいのは、KongがIstioとは2つの点で異なるということだ。第1は、Kongがマイクロサービスだけでなく、従来型のモノリシックなアプリケーションを含め、組織におけるアプリケーション運用形態の全てに対応する点。第2は、ネットワーク制御に加え、高レイヤーの制御機能も提供しようとしているという点だ。