今回は、4月の勉強会の模様をお届けします。メインテーマは、「マイクロサービスアーキテクチャにおけるAPI管理ソリューション」です。
アプリケーション開発の世界では、これまでのモノリシックな開発手法から「マイクロサービスアーキテクチャ」と呼ばれる開発手法にシフトしています。1つのサービスを複数の機能に分けて構成することでアプリケーション開発のスピードを向上させられる反面、機能間の連携が複雑化しやすいといったデメリットも存在します。
勉強会には、Kong Sales Director 西原順二氏とSolutions Engineer 池田尚史氏が登壇。そうしたマイクロサービスアーキテクチャの課題を解決するソリューションをデモを交えて紹介しました。
世界に広がるAPIエコノミー
世界のAPI市場規模は年間成長率28.6%と高い水準を維持しており、2021年の400億円規模から、2024年には880億円にまで成長すると予測されている。西原氏によれば、「APIエコノミー全体で言えば、260兆円市場とも言われる分野」だという。APIコネクティビティのユースケースとしては、モバイルアプリケーションやIoTデバイスとの連携など外部のパートナーとの連携、自社内のチーム間アプリケーション相互接続、マイクロサービス化された全てのサービスとの接続などが挙げられる。
マイクロサービス化によって機能開発のスピードが上がり、アジャイルな開発を提供できる反面、管理面が煩雑化していく点が課題となる。
池田氏は、そうしたAPIライフサイクルマネジメント全体を統合的に管理し、サービス間のシームレスな通信の実現と、高度なセキュリティを提供するソリューションとして、サービスコネクティビティプラットフォーム「Kong Konnect」を紹介。
Kong Konnectを構成するオープンソースプロダクトとして次の3つのプロダクトを挙げ、解説した。
- Kong Gateway:アプリケーションに対するクライアントからのリクエストと応答を転送するAPIゲートウェイ機能を提供。認証セキュリティ、負荷分散、ルール変換、監視などの付加機能を備える。
- Kuma:Kubernetes、非Kubernetes環境いずれでも動作するサービスメッシュ機能を提供する。
- Insomnia:APIデザイナーを備えたAPIテストクライアント。
Kong Konnectはオープンソースとして無償で提供されているが、これをベースとした有償のEnterprise版は「Konnect」という名称で提供されており、「Kong Mesh」「Kong Gateway Enterprise」の2つのプロダクトで構成されている。
Konnectの機能としては、CNCF(Cloud Native Computing Foundation)のプロジェクトであるOPA(Open Policy Agent)のネイティブサポートや、HashiCorp社の「HashiCorp Vault」などとの連携も可能となっている。
また、認証部分に関しては「OpenIDConnect」や、通信における「mTLS(Mutual TLS)」、「JWT(JSON Web Token)」、「Advanced Transform (レスポンスヘッダー、ボディなどの書き換え)」を提供するほか、GraphQL、Kafka、RBAC、Audit、暗号化といったさまざまな機能を備えている。
池田氏は、「さらに特筆すべき点」として、飛躍的にリクエスト/レスポンスを高速化するキャッシング機能などが含まれることを紹介した。
池田氏は、Konnectの利用シーンとして、マイクロサービス環境において、外部との通信にAPIゲートウェイ、サービス間通信にサービスメッシュ、という構成で展開する場合を例に挙げ、次のように説明した。
「まず複数レイヤーにAPIゲートウェイを配置。ここでサイドカーコンテナとしてKong GatewayとKong Meshを組み合わせて使う場合にKonnectはコントロールプレーンとして機能します」
デモで披露されたさまざまな機能
セッション後半は、以下の観点でKong Konnectのデモが披露された。
- キャッシュ高速化:管理画面からキャッシュ高速化プラグインを追加し、既存のポリシーに素早く適用し、適用直後にキャッシュ高速化が有効となっている。
- サービスデリバリーの自動化:GitHubなどと連携をする事でチームにおけるサービスデリバリーの自動化。池田氏自身が作成、公開している decK-action(https://github.com/ikeike443/decK-action)とGithub Action を利用することで、Kong構成用のCI/CDパイプラインが構成可能。
- セキュリティとガバナンス:サービスを認証認可で保護。KeycloakといったOpenIDのIdPに対するOpenID Connect プラグインなど、様々な認証プラグインによってアプリケーション側のコード書き換えが不要となる。
- サービス間トラフィックのモニタリング:Vitalsと呼ばれるネットワークモニタリングツールを利用可能。さらにオープンソース監視ツールであるPrrometheus対応プラグインなどを用いてログを収集可能。
- サービス公開、利用促進:APIクライアントInsomniaによってAPIテスト、OpenAPIエディターとしても機能する。さらにはGithub、GitLabとソースを同期することでチームでのOpenAPI開発を促進。
- サービス公開、デベロッパーポータル:開発者向けのポータル、API使用量やAPI資格情報、サービス公開のワークフローなどを提供。
実際のデモはYoutubeチャンネルにて視聴可能となっている。
* * *
APIを軸としてサービスコネクティビティプラットフォームを提供するKong社のソリューションを活用することで、開発者がアプリケーションのコア機能の開発に集中でき、しかもパフォーマンス向上に大きく貢献できる点が素晴らしいと思います。
また、全般を通してプラグインというキーワードが出ていましたが、こうした管理ツールにおいても機能がモジュール化されていることで組織のニーズにあった管理機能を選択できる点も、シンプルな運用を目指す上で有用だと感じました。
著者紹介
株式会社ネットワールドMicrosoft ソリューション プリセールスエンジニア
津久井 智浩(つくい ともひろ)
ソリューションディストリビューターであるネットワールドの一員として、お客様に付加価値を提供するというミッションの下、Microsoft製品を中心にオンプレミスからクラウドまで幅広く提案~導入を担当。
趣味はバイク。昼散歩が日課。最近は自分よりもカミさんの働き方改革を何とかしたいと苦悩し、マインクラフトを通して子供と一緒にプログラミングを学びたいと願う40代。3児(2女、1男)の父。