見出し画像

今巷で話題の”Apigee”について調べてみた

みなさんこんにちは!
SOMPOシステムズのAPIエンジニアです!
APIプラットフォームの「Apigee」についていろいろ調べてみたので、ご紹介します。


Apigeeってなに?

Apigee(アピジー)とは、 Google Cloud で提供されているAPIプラットフォーム。

ポイントとしては、APIの管理に特化したサービスだと思います。
Cloud Armor や Cloud Load Balancing、Cloud DNS などのサービスと組み合わせて環境を構成し、バックエンドのAPIを公開していくイメージです。

簡単な構成であればこんなイメージ。

SLAは、マルチリージョン構成などであれば 99.99% 以上のようです。

『2023 Gartner Magic Quadrant for Full Life Cycle API Management』で『LEADERS』と評価されていますね。

https://cloud.google.com/blog/ja/products/api-management/apigee-named-a-leader-in-the-2023-gartner-magic-quadrant

API構築に登場する機能や要素

API構築に登場する以下4つの機能や要素について調べてみました。

  • APIプロキシ(API Proxy)

  • APIプロダクト(API Product)

  • アプリ(App)

  • デベロッパー(Developer)

APIプロキシ

APIプロキシ(API Proxy)は、クライアントアプリとバックエンドのAPIをつなぐプロキシ機能。
クライアントアプリからAPIを使用する方法を定義する『ProxyEndpoint』と、APIプロキシとバックエンドのAPIのやりとりの方法を定義する『TargetEndpoint』で構成されているとのこと。
Quota や JSON ThreatProtection などの組み込みポリシーが複数準備されているので、APIプロキシ構築をサポートしてくれそうですね!

図で表現するとこんなイメージ。

APIプロダクト

APIプロダクト(API Product)は、APIプロキシをバンドルしてアプリに対して権限を付与する機能。
APIプロキシ』を定義するところがポイントですね。
アクセスレベルは Public や Private などを選択できるので、外部向けのAPIと内部向けAPIで分けて設計するなどありそうです。
リクエスト数やアクセスレベルによって価格レベルを定義できたりするみたいです。

アプリ

アプリ(App)は、API にアクセス可能なユーザーを管理する機能。
デベロッパー』と『APIプロダクト』を設定するところがポイントですね。
アプリを作成すると、APIアクセス時に必要になるキー情報が発行されるとのこと。

デベロッパー

デベロッパー(Developer)は、API利用者。
APIを利用するために登録が必要で、『アプリ』作成時にデベロッパーの設定が必要。
「デベロッパーを削除すると、デベロッパーだけでなく、アプリや API キーなどの関連するアーティファクトもすべて組織から完全に削除されます。」の記載があるので、誤って削除しないように非アクティブにする運用にしないとですね。

ここまで調べてきたAPIプロキシ、APIプロダクト、アプリ、デベロッパーの関係は、デベロッパとアプリは1:1で、アプリとAPIプロダクトは1:他、APIプロダクトとAPIプロキシも1:他のようです。
関係性を図で表現するとこんなイメージ。

Key情報が正しいかどうかは、「Verify API key」のポリシーの実装が必要そうです。


APIエンジニアとしての考察

いろいろ調べてみましたが、まずドキュメントが結構充実しているなと感じました。
調べているレベルだと、バックエンドのAPIがあって、OpenAPI仕様が作成できていれば、GUIからの操作だけでサクッとAPIを公開できるのでは?と期待が持てる内容でした。
実際にApigeeを触ってAPIプロキシを作成してみて、どんな感じだったか記事を書きたいなと思います。