PR

API gatewayのGlooとAmbassadorがそれぞれ最新バージョンをリリース

2020年6月11日(木)
松下 康之 - Yasuyuki Matsushita
API gatewayに関連するソフトウェアアップデートを紹介する

API gatewayの最新バージョンが複数のベンダーからほぼ同時期にリリースされた。API gatewayは外部のWebサービスを呼び出す際に利用するだけではなく、エンタープライズ企業にとってはマイクロサービス化されたシステムが相互に呼び出し合うような場合にも大きな効果を出すことができる。また運用チームにとっても最新の機能を実装したバージョンと一つ前のバージョンを切り替えながら運用する場合や、トラフィックの割合をダイナミックに変化させながらようすを見る場合などにも利用可能で、単にキャッシング以上の意味を持つようになってきている。

またCNCFがホストしているオープンソースの軽量ProxyサーバーであるEnvoyを組み込んで、マイクロサービスに最適なAPI gatewayが実装できるようになったことも大きいだろう。

オープンソースソフトウェアの世界では常に新しいソフトウェアが開発されているため、これまで商用ソフトウェアベンダーが採っていたような定期的にイベントなどを開いて最新の製品や機能を解説するというモデルが崩れてきている。

そのようなイベントは、例えばクラウドネイティブの界隈では、CNCFが毎年開催してきたKubeCon+CloudNativeConが挙げられる。このイベントは、Kubernetesをベースにしたクラウドネイティブなソフトウェア(オープンソースもプロプライエタリなソフトウェアも含む)が一堂に会する最適な機会であった。

しかし、新型コロナウイルスの影響でKubeCon+CloudNativeConがオンラインイベントに移行した結果、新しいソフトウェアやリリースに巡り合う機会が減っているのが実情だ。しかしKubeConのような大規模なイベントにスポンサーとしては参加できない企業や産学協同のオープンソースプロジェクトなどにとっては、Red HatやGoogle、AWSなどと同じネットという土俵の上で勝負ができるという意味ではチャンス、良いことなのかもしれない。

そんな中、複数のアプリケーションのAPI Callを集約するAPI gatewayは今、非常に注目を集めている領域だ。今回紹介するGloo、Ambassador、Kong以外にもGoogleのApigee、Red Hatが買収した3Scale、AWSのAWS API Gateway、MicrosoftのAzure API Managementなど大小のベンダーがひしめき合っているレッドオーシャンと言える。その中から自社に最適なソリューションを見つけるのは至難の業だろう。

今回の記事では、Solo.io, Inc.が開発をリードするGlooの最新バージョン1.3と、Datawireが開発をリードするAmbassadorの最新バージョン0.50がリリースされたことを紹介したい。またこれまでNGINXをベースにAPI gatewayを開発していたKongが新たにリリースしたツールInsomnia Designerも紹介する。InsomniaはKongが2019年10月に買収したAPIをベースにしたアプリケーションを開発、テストするためのツールである。

Soloが手がけるGloo

GlooはSoloが開発するオープンソースソフトウェアだが、オープンコアモデルに則り、Soloもエンタープライズ版としてGloo Enterpriseを提供している。今回の最新バージョン1.3の新機能Developer Portalは、このEnterprise版の新機能だ。

GlooのCTO、Christian Posta氏が行ったWebinarでは、主な機能であるDeveloper Portalを、デモを交えて紹介した。

Gloo 1.3を紹介するChristian Posta氏

Gloo 1.3を紹介するChristian Posta氏

このセッションでは紹介のプレゼンテーションだけではなく、実際にDeveloper Portalを使ってデモアプリケーションを実装し、ユーザーを登録、APIを使うユーザーを個別に認識するためにAPIキーを発行してDeveloper Portalから検証を行うという一連の作業を実施した。

Glooの概要。EnvoyをベースにしたコントロールプレーンがGloo

Glooの概要。EnvoyをベースにしたコントロールプレーンがGloo

1.3の新機能、Developer Portal

1.3の新機能、Developer Portal

最新バージョンの1.3ではDeveloper Portalの他に、Mozillaが開発をリードするWebAssemblyが取り上げられている。元々WebAssemblyは、WebブラウザーでJavaScript以外のプログラミング言語を実装しようという目的で開発されたバイナリーフォーマットだが、コンテナーの代わりにさまざまなプログラミング言語で書かれたコードを安全に実行するための機能として、サーバーサイドでも注目されている技術だ。SoloはWebAssemblyにも意欲的で、WebAssembly HubというEnvoyの上で実行されるWebAssemblyのコードをホスティングするリポジトリーも提供している。

参考:WebAssembly Hub

Developer Portalの概要

Developer Portalの概要

Developer Portalの紹介の部分で最初に出てくる特徴が「宣言的な構成(Declarative Configuration)」だが、これの意味するところはKubernetesのCRD(Custom Resource Definition)をベースにしているということだ。これはKubernetesが利用する分散キーバリューストアetcd上にすべての構成データを保存することを意味しており、CRD(つまりetcd)をベースにしたKubernetesを利用する場合に他のデータベースを必要としないということになる。

また提供されるのが、Developer Portalであり包括的な管理ダッシュボードではないということも注目だ。これは外部の委託先などと開発を行うような場合、必要最小限のAPIやエンドポイントだけを公開し、開発を行うグループごとに分離、セルフサービスでAPIの実装が行えるような使い方を想定しているということだろう。

APIキーの生成については、マイクロサービス化したシステムにおいては「何が起こっているのか?」を可視化するために、これまでのログに頼ったモニタリングでは不足であることは知られている。一方で、メトリクスやトレーシングを行うためには、どのAPI Callがどのユーザーから発行されたのかを識別する必要がある。これは社内のシステムにおいても重要で、そのために個別のAPIキーを生成してそれを元にユーザーの識別を行い、可視化することが必要だ。それをGUIから簡単に行えるのはありがたい機能だ。

カスタムブランデッドクライアントポータルが作れるDeveloper Portal

カスタムブランデッドクライアントポータルが作れるDeveloper Portal

このスライドにあるように「カスタムブランデッドクライアントポータル」というサブタイトルは「個別の開発プロジェクトごとにカスタマイズした開発者用のポータルサイト」を用意できるという意味である。

デモを見てもらえばわかるが、APIの設定だけではなくAPI Editorなども装備されており、APIを利用したコードを書くための必要最低限の機能が、このGUIの中で完結していると言える。いちいちコマンドラインを使わなくても検証が行える機能などもデベロッパーにとってはありがたいのではないだろうか。動画は以下のリンクから参照されたい。

Gloo 1.3の紹介ビデオ:Gloo API Gateway 1.3 - Developer portal and more enhancements

  • 1
著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています