クラウドネイティブアプリケーションは、マイクロサービス同士を接続する何十、何百、あるいは何千ものAPIで構成されています。これらのサービスとAPIが一体となり、クラウドネイティブアプリケーションの核となるレジリエンシ、スケーラビリティおよび柔軟性が実現します。
現在、これらの基盤となるAPIやマイクロサービスは、グローバルに分散したチームによって構築されることが多く、機能をタイムリーに市場投入するためには、ある程度の自律性と独立性のある運用が必要です。
同時に、Platform Opsチームは、基盤となるAPIを含む、企業のアプリとインフラストラクチャの全体的な信頼性とセキュリティを確保する責任を負っています。これらのチームは、APIトラフィックを可視化して、セキュリティとコンプライアンスを統一するグローバルなガードレールを設定できると同時に、優れたAPI開発者エクスペリエンスを提供する必要があります。
これら2つのグループの利害は対立することもありますが、私たちは、それが避けられないこととは考えていません。私たちは、API Connectivity ManagerをF5 NGINX Management Suiteの一部として構築し、Platform Opsチームが安全かつ円滑に物事を進められるようにすると同時に、API開発者が新しい機能を簡単に構築してリリースできるようにしました。
API接続性をサポートするアーキテクチャの構築
次世代管理プレーンであるAPI Connectivity Managerは、APIゲートウェイとしてのNGINX Plusの能力を実現および拡張します。NGINXを過去に利用したことがある方は、NGINXのAPIゲートウェイとしてのスケーラビリティ、信頼性、柔軟性、性能をご存知だと思います。
私たちは、API Connectivity Managerの設計にあたり、Platform Opsチームと開発者の連携を強化できる新しいアーキテクチャを開発しました。そのコンポーネントには、以下のような標準的な業界用語が使用されています(NGINXの経験豊富なユーザーの方にとって馴染みのある名前とは異なる用語もいくつかあります)。
- ワークスペース – 単一の事業単位またはチームが専用に管理および使用するための分離されたインフラストラクチャのコレクションです。
- 環境 – 開発、テスト、実稼働といった、アプリケーションライフサイクルの特定のフェーズにおいて、APIゲートウェイまたは開発者ポータルとして機能するNGINX Plusインスタンス(クラスタ)の論理的な集合体です。
- APIゲートウェイプロキシクラスター – NGINX Plusインスタンスをグループ化し、それらの間で状態を同期化するNGINX APIゲートウェイの論理的表現です。
- APIプロキシ – 公開されたAPIのインスタンスの表現で、ルーティング、バージョニング、その他のポリシーが含まれます。
- ポリシー – トラフィックのレジリエンシ、セキュリティ、サービス品質など、APIプロキシの特定の機能を定義するためのグローバルまたはローカルの抽象化です。
次の図は、ワークスペース内でこれらのコンポーネントがどのようにネストされているかを示しています。
この論理的な階層構造により、企業全体のAPIの接続性をサポートするさまざまな重要なユースケースが可能になります。たとえば、ワークスペースは、複数のタイプ(たとえば、パブリッククラウドとオンプレミス)のインフラストラクチャを統合できます。これにより、チームはこれらの両方にアクセスできるようになり、両方の環境におけるAPIトラフィックの可視化がインフラストラクチャ所有者に提供されます。
アーキテクチャのコンポーネントについては、今後のブログでさらに詳しく説明します。今回は、API Connectivity Managerが、APIの開発と配布に貢献するさまざまなペルソナにどのように役立っているかを説明します。
Platform OpsチームのためのAPI Connectivity Manager
Platform Opsチームは、各組織のインフラストラクチャの構築とライフサイクル管理を担当しています。また、開発者が顧客とパートナにサービスを提供するアプリケーションとサービスを構築するためのプラットフォームを提供します。開発チームは、分散していることが多く、複数の環境にまたがって作業し、さまざまな事業部門に報告を行っています。このような分散したグループや環境のニーズを満たしながら、企業規模の標準を維持することは、Platform Opsチームが今日直面している最大の課題の1つです。
API Connectivity Managerは、ワークスペースを論理的な境界として使用して、チームとその運用を分離する革新的な方法を提供します。また、これにより、Platform Opsチームは、APIの構築と導入を行うチームに干渉することなく、インフラストラクチャのライフサイクルを管理できます。API Connectivity Managerには、NGINX Plus APIゲートウェイおよび開発者ポータルに基本的なセキュリティと設定を提供するためのデフォルトのグローバルポリシーが組み込まれています。Platform Opsチームは、オプションでmTLSを要求、ログの形式を設定、またはプロキシヘッダーを標準化する補足的なグローバルポリシーを設定できます。
グローバルポリシーは、共有APIゲートウェイクラスタに導入されるAPIに統一性と一貫性を与えます。また、API Connectivity Managerは、各チームや事業部門がそれぞれのAPIを導入する場所を物理的に分離するために、分散型のデータプレーンクラスタを実行する機会も組織に提供します。
今後のブログでは、Platform OpsチームがどのようにAPI Connectivity Managerを使用することで、APIセキュリティとガバナンスを確保し、API開発者の成功を支援できるかについて説明していきます。
開発者のためのAPI Connectivity Manager
異なる事業部門のチームは、それぞれ独自のAPIセットを所有および運用しています。アプリケーションやサービスを期限内に市場投入するには、API製品を管理する必要があります。つまり、共有インフラストラクチャを使用するために他のチームの承認を待つ余裕はありません。同時に、各チームが互いの権利を侵害しないように「ガードレール」も必要です。
Platform Opsチームと同様に、開発者チームもAPI所有者として、所有するAPIを他のチームから分離する独自のワークスペースを使用します。API Connectivity Managerは、API所有者がレート制限や追加のセキュリティ要件のようなサービスレベル設定を構成するためのポリシーをAPIプロキシレベルで提供します。
今後のブログでは、開発者がどのようにAPI Connectivity Managerを使用して、APIライフサイクル管理を簡素化できるかについて説明していきます。
ご利用
API Connectivity ManagerおよびInstance Managerを含むNGINX Management Suiteの30日間無料トライアルをご利用ください。