「APIマネジメントは死んだ」。サービスメッシュ、IstioとKongの進む道:CTOのパラディーノ氏に聞いた
オープンソースのAPIマネジメントソフトウェアであるKongが、サービスメッシュ対応を実現した。サービスメッシュの代名詞のように語られているIstioとは、どのような関係になるのか。今後どのような世界を目指しているのか。共同創立者でCTOのマルコ・パラディーノ氏に聞いた。
Kongは、唯一のオープンソースAPIマネジメントソフトウェアとして知られ、日本でもヤフーや他の大手テクノロジー企業を顧客に持つ。エンタープライズ版の顧客は、グローバルで100組織を超えたという。
同社は2018年9月にサンフランシスコで開催した初のユーザーカンファレンス「Kong Summit 2018」で、Kong 1.0を発表するとともに、「APIマネジメントは死んだ、Kongは『サービスコントロールプラットフォーム』だ」と宣言した。これはもちろん、マイクロサービスにおけるサービスメッシュのニーズが高まってきたことと大いに関係がある。
Kongの共同創立者でCTOのマルコ・パラディーノ(Marco Palladino)氏によると、Kong 1.0は2018年11月末、あるいは12月初めにリリース予定だ。エンタープライズ版は、数カ月遅れて提供する(なお、従来「Kong Community Edition」と呼ばれていたオープンソース版は「Kong」、「Kong Enterprise Edition」は「Kong Enterprise」にそれぞれ改称された)。リリース候補版(Release Candidate)は、既に提供開始している。
この新バージョンを「1.0」と呼ぶ理由を聞くと、パラディーノ氏は次のように答えた。
「Kongはかなり前から、本番環境で使われてきた。従って、安定性が一定レベルに達したから『1.0』と呼ぶのではない。機能が出そろったからだ。その機能とは、プラグインSDK、ダウンタイムなしのバージョン移行、サービスメッシュのサポートだ。私たちが今後に向けて、必ず実装しなければならない機能を、とうとう盛り込むことができた」
参照記事:APIマネジメントの世界で急速に成長する、Kongという存在
「ITの未来はAPIで形作られる」と、このベンチャーキャピタリストが断言する理由
中でも重要なのは、マイクロサービス環境におけるサービスメッシュへの対応だ。
「企業は単一の巨大な岩(monolith)のようなアプリケーションから、マイクロサービスやサーバレスのような、アーキテクチャパターンに移行しつつある。マイクロサービスはKongにとって非常に重要なユースケースになろうとしている。このユースケースを確実に支えるため、サービスメッシュへの対応を行った」
実は2017年11月に筆者はパラディーノ氏と会っているが、その時点で同氏は、「今後マイクロサービスにおけるAPI制御が重要な焦点になる」と力説していた。この考えがKong 1.0で現実のものになる。
KongはプロキシとしてNginxを使っている。サービスメッシュ対応では、「サイドカーパターン」で、マイクロサービス単位にプロキシを導入し、これを統合管理できるようになる。アプリケーションのデプロイメントおよび新たなサービスの作成に対応して、Kongの設定は自動化される。
Istioとの関係はどうなっていくのか
だが、「サービスメッシュ」というと、Istioを思い浮かべる人は多いはずだ。逆にIstioが注目を集めるようになり、Istioを通じて「サービスメッシュ」という言葉にたどり着いたという人も多いだろう。端的に表現すると、Istioはホットなテクノロジーだ。
参照記事:「サービスメッシュ」「Istio」って何? どう使える? どう役立つ?
Googleのウルス・ヘルツル氏に聞いた、「IstioやKnativeで目指すのはクラウドのアンロックイン」
従って、「どうしても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は、ネットワーク制御に加え、高レイヤーの制御機能も提供しようとしているという点だ。
「私たちのビジョンは、Istioなどの上に立って、組織が必要とするワークフロー、ライフサイクル、ガバナンスなどに関する機能を提供することにある。私たちはこうした機能を、マイクロサービス環境だけでなく、あらゆるアーキテクチャパターンにまたがって提供しようとしている」
第1の点に関して、パラディーノ氏は下の図を見せて説明する。
「IT業界では、新しいトレンドが登場すると、誰もが『全てをこの方法で構築すべきだ』と騒ぐ。しかし現実は異なることを、企業や開発者たちは知っている。いつでもマイクロサービスが適しているとは限らない。モノリシックなアプリケーションアーキテクチャが適している場合もある。このため、組織内では複数のアーキテクチャパターンが混在することになる。Kongの目標は、組織におけるあらゆるアプリケーションを対象として、これらをつなぎ、制御し、可視化することだ。このため、私たちは全てのアーキテクチャをサポートする。その過程で、各アーキテクチャパターンにおいて成長するエコシステムがあれば、これをできる限りサポートしていく。今はマイクロサービスがブームだが、次に何が来るかは分からない。私たちは次に何が来ても、対応していくつもりだ」
第2の点についてはどうか。Kongは2018年9月の「Kong Summit 2018」で、接続関係のマッピングやガバナンス強化などを機械学習に基づいて自動化する「Kong Brain」、同じく機械学習に基づく異常検知で、セキュリティ上の潜在的な脅威に対応する「Kong Immunity」といった取り組みを発表した。他にもさまざまな機能が考えられるという。
基本は、多様なアーキテクチャパターンにより社内のさまざまなチームが提供するAPI群を全社的に可視化し、それぞれのライフサイクルを管理できるようにすることだという。
「組織内のサービス間の依存関係を管理することに加え、組織的な依存関係を管理できるようにする必要がある。どのチームがどのサービスに依存しているかを明らかにしなければならない。アプリケーションが巨大なモノリシックアプリケーションからマイクロサービスへ移行していくのにつれて、組織もより小さなチームに分割されていくからだ。さらに、組織内の百にも及ぶチームが、数百のサービスをデプロイする状況になると、ライフサイクル管理やガバナンスは大きな重要性を帯びることになる」
オープンソースであることの重要性
パラディーノ氏は、Kongがオープンソースであり、さらにプラグインを通じてユーザー自身が自由に機能を拡張できるようになっていることが、Kongの最大の強みだと強調する。確かに日本のユーザー組織の中にも、自分たちの欲しい機能を作り込みやすいということが、採用の決め手になっているケースが見られる。
Kongには100名以上の(コアに対する)コントリビューターがいて、GitHub上には4000以上のKong関連プロジェクトがあり、そのうち500以上がプラグインだという。
Kongはバージョン1.0と同時に、「Plugin Development Kit(PDK)」のリリースを発表している。これは、Kongのバージョンに依存しないプラグインを、より容易に構築できるようにするための開発キットだ。加えて、あるユーザーが開発したプラグインを、他のユーザーが見つけて利用しやすくするためのカタログサイト、「Kong Hub」の提供開始も発表した。これらプラグインの一部については、必要に応じてKong Enterpriseのサポート対象に加えていくとする。
こうしてKongは、今後もユーザーと共に育てるオープンソースソフトウェアとして、機能拡張を進めていくという。
Copyright © ITmedia, Inc. All Rights Reserved.