PR

 「Azure API Management」はWeb API管理のサービスである。APIの構築から、ライセンスキーの発行、性能やログの運用・管理といったAPIのライフサイクル全般をカバー。APIを外部に公開したり、自社のシステム同士をAPI連携させたりするのに利用できる。

 GA(一般提供)になったのは2014年で、実績のあるサービスだ。Microsoft自身が、AI(人工知能)サービス「Microsoft Cognitive Services」のAPI提供に利用している。感情認識や顔の識別といったAI機能をAPIとして提供しており、ユーザー(人あるいはシステム)はHTTP(S)のプロトコルで呼び出す。このとき、ユーザーとAI機能を実現するバックエンドシステムを仲介するのがAPI Managementだ。

 その機能は大きく三つある。中核機能となる「APIゲートウエイ」、API提供者向けの「パブリッシャーポータル」、ユーザー向けの「開発者ポータル」だ。これらの機能を順に解説していこう。

(1)APIゲートウエイ

 APIゲートウエイは、ユーザーからリクエストを受け付け、バックエンドでの処理結果をカスタマイズして応答を返す、といったAPIの中核機能だ。API定義、ロギング、ユーザー認証、スロットリング(流量制御)、ユーザーの契約レベルなどによってアクセスできるAPIや回数を制限する機能などを備える。

 API Managementはユーザーからのリクエストを中継するバックエンドとして、Azureのリソースだけでなく、他のクラウドやオンプレミス(自社所有)環境のリソースもサポートする。散在するバックエンドリソースをAPI Managementによって一元化できる。

(2)パブリッシャーポータル

 APIの提供者がAPIの仕様を定義するために使うのが、パブリッシャーポータルだ。例えば、Azure Active DirectoryやMicrosoft Account、Twitter、Facebookなど許可するユーザー認証方式、ユーザーの契約レベルによるAPI利用回数の制限といったさまざまな設定を行う。

(3)開発者ポータル

 開発者ポータルは、APIを利用するITエンジニア向けのものだ。APIの仕様を「APIリファレンス」というドキュメントとして自動出力し閲覧できるのに加え、APIの利用に必要なユーザー登録とAPIキーの取得も開発者ポータルで行う。

 ユーザー認証については、メールアドレスとパスワードがデフォルトだが、API提供者が許可したものを利用できる。

 開発者ポータルは、APIの提供者が自社のロゴを入れるなど柔軟にカスタマイズできる(画面1)。

画面1 API提供者としてカスタマイズした開発者ポータル
画面1 API提供者としてカスタマイズした開発者ポータル
[画像のクリックで拡大表示]

 API Managementのこれらの機能によって、APIの管理とバックエンドの開発を分離できる。このメリットは、厳格なAPI管理が求められるサービスで特に大きい。

 なおAzureには、「Azure API Apps」というサービスが存在し、API Managementと混同しやすい。API Appsは、APIそのもの(実態は.NETやNode.jsなどのコード)を作成してホストするサービス。API AppsでホストしたAPIは、API Managementにとってリクエストを中継するバックエンドリソースの一つという位置付けになる。