こんにちは!技術2部の槌野です。
9/18,19に開催されました、Kong Summit 2018のイベントレポートをお届けしたいと思います。
はじめに
国内でもエンタープライズの採用事例が増えてきたKong初のグローバルイベント、1.0のリリースも予定されていると聞いていましたので、今後のロードマップを生で聞きたいと思い、参加させてもらいました。
会場はサンフランシスコ、ユニオンスクエアから車で10分ほどの距離にある「The Pearl」。世界各国から200名ほどのゲストが参加されたそうで、注目ぶりが伺えます。会場時間の8時から早くも、準備された朝食を摂りながら談笑している多くの参加者が目に入ります。
本題に入る前に、Kongって何?という方に向けて少しだけ概要を紹介しておきます。
Kongとは?
2015年にKong社(当時mashape社)が公開した、API,マイクロサービス管理ソフトウェアです。
API gatewayのコアはOpenRestyのオントップに実装されたOSSで、APIの公開において求められる様々な機能(OAuth2.0に代表される認可機能やトラフィック制限、ACLなど)をプラグイン形式で自由に組み込んで使えるのが特徴です。旧世代のESBのようなJava+MQベースの実装ではなく、低レイテンシ&高スループットなのもメリットです。
2017年にmashapeからKongに社名を変更しており、それまで手がけていたマーケットプレース(mashape marketplace)事業はRapidAPIに譲渡されています。
では、本題に入りましょう。
“API Management is Dead”
CEO の Augusto Marietti が冒頭のキーノートセッションで切り出したキーワードです。そしてKongは、API Managementではなく、Service Control Platformになると宣言しました。その理由を次のように述べています。
- 成功するビジネスは常にサービスドリブンである
- クラウドネイティブなアーキテクチャの上で提供されるサービスは爆発的に増加し、サービス間を膨大な情報が飛び交うようになる
- 企業はサービスを成長し続けるため「Service Control Platform」を必要とするだろう
ビジネスの世界は2013年Dockerの登場をきっかけに、以降急速にサービス中心の企業が台頭するようになりました。
上図は、それに伴って API Gateway, Microservices も急速にトレンドとなったことが分かります。
次に、トレンドの上昇に伴ってモノリスからマイクロサービスへの転換を図ろうとする企業には様々なアーキテクチャが存在することになります。オンプレミス、クラウド、サーバレスなど環境も様々あり、これらの無数の組み合わせの上に成り立つサービスを繋げる必要があるはずだ、ということを説明したものです。
企業が成長するために重要なことは、サービスを迅速に生み出し成長させること、そして社外のサービスとも繋がるエコシステムにすることによってデータの流通を増加させることであり、企業はそれらを制御できるプラットフォームを必要とするするはずだ、ということです。従来のAPI Managementにはここまでのビジョンはなく、価値の再定義が必要だ。“API Management is Dead” にはそういった意図が込められていました。
キーノートでの発表内容
キーノートは2日間にまたがって発表されましたが、集約してポイントのみご紹介します。
Kong 1.0
Enterprise Editionの契約者数は、発表からわずか1年ですが、100社に達したとの発表がありました。ただただ驚きです。そして、いよいよ期待していたバージョン1.0のリリースが発表されました。
Plugin Development Kit
Kong CE 0.14 で一部利用可能になっていますが、1.0で正式に対応されることになります。
Cloud Native Integrations
こちらもKong CE 0.14 で先行リリースされていますが、Prometheus や Zipkin など、Cloud Native な開発に必要なプラグインの提供が進められます。
First Class Kubernetes support
本Blogの執筆時点でv0.2.0がリリースされている、Kubernetes Ingress Controller for Kong などはこの中に含まれる機能だと思われますが、Kubernetes に対する親和性は高めていくようです。
Control Plane & Data Plane
従来の API Management は Control Plane だけですが、Data Plane も対応することが Service Mesh を実現する上で重要と考えられており、そのためにも軽量かつ高速なゲートウェイであることが重要だ、といった内容が強調されました。
No-downtime migrations
マルチリージョン、マルチクラウドにも対応できるスケーラブルなプラットフォームを提供する、といった内容が Day1 でサラリと伝えられたのですが、Day2 で発表された Kong Cloud を指すものと見られます。
Kong Service Mesh
*”Service Mesh is a pattern not a technology”* と前置きされ、サービスメッシュのデプロイメントパターンに対応する、という内容が発表されました。Kong のインスタンス間の TLS サポートに加え、Control Place + Data Plane の両方に対して配置が可能で、サービス間通信のフローを制御し、かつそれらの規模に合わせた自動スケーリングを提供するということです。
Kong Manager
RBAC + Workspace は Kong EE 0.33 から Admin API で利用できるようになっていましたが、GUI からもWorkspaceをスイッチしながら操作できるように対応されることが発表されました。その他、ダッシュボードに表示される統計情報もよりリッチになるようです。
Kong Brain
SwaggerインポートによるAPIドキュメントの自動生成に加え、Routesの自動設定も行ってくれるようになります。API数が多いと設定作業も大変ですが、この機能で負担が減らせそうです。
さらにService Mapと呼ばれる、サービス間の依存関係やボトルネック分析などに使えるGUIが追加になるとのこと、サービスの数が増えた場合の見栄えなど試してみないと何とも言えませんが、デモの雰囲気は良さげでした。
Kong Immunity
アクセスログを用いた機械学習を通してアノマリ検知とその通知ができる機能です。会場で行われたデモでは、CLIで実行→検知したアノマリをSlackに通知させていました。監視+Slackは最近よく見かける手法ですが、やっぱり良いですね。
Kong Cloud
以前からサービスの告知はありましたが詳細については不明のままでした。SaaS版を提供するのかと浅い予測でしたが、AWS, Azure, GoogleCloudなどのクラウド環境に対して Kong Enterprise を効率的にデプロイ、運用するためのマネジメント環境を提供する内容と見られます。
Kong Hub
これまでは Kong が提供するプラグインしかWebサイトから参照することができませんでしたが、3rd Party製のプラグインも公開されるようになりました。まだ数は少ないですが、今後どれくらいのプラグインが新たに公開されるのか楽しみです。
開発者コミュニティを大切にすることはこれまでも、これからも変わらないというCTOのMarco Paradinoのメッセージが伝えられた後の発表で、会場が非常に盛り上がった瞬間でもありました。
最後に
その他のユーザセッションでは、マイクロサービスのアーキテクチャ・パターンや、カオスエンジニアリング、マルチDC運用に関する事例(Yahoo!Japanの岡田さん)などなど豊富で多岐にわたるユーザ事例も発表され、非常に内容の濃い2日間を過ごすことができました。
ユーザセッションの内容については、それぞれの転載許可が得られておりませんので割愛させていただきますが、もしご興味あればお問い合わせをいただければと思います。
今後API Managementの枠を超え、本当のService Control Platformに成長するまでの過程がますます楽しみになるイベントでした。今後もKongの動向に注目し、最新の情報をお届けしたいと思います。 それではまた!