Google Cloud での API 管理
Google Cloud Japan Team
※この投稿は米国時間 2021 年 12 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。
API は、現在の企業の原動力となっている最新のアプリケーションを構築し、共有するためのデファクト スタンダードです。迅速に行動し、競争力を維持するために、あらゆる現代的な企業が API を活用しています。しかし、API、データ、サービスを安全に配信、管理、分析することは複雑かつ重要です。また、企業のエコシステムはオンプレミス データセンターだけでなく、プライベート クラウドやパブリック クラウド、SaaS、その他の IT エンドポイントを含めて拡大しており、その難易度は高まっています。この複雑さに対処するために、企業は API 管理を必要としています。
API 管理とは
次のシナリオを考えてみましょう。REST / SOAP サービス、マイクロサービス、サービスバスを含むバックエンドサービスや、その他のサードパーティのサービスがあるとします。一方で、これらのサービスのユーザーであるパートナー、従業員、お客様もおり、バックエンド サービスからデータを取得したり、API でアクションをトリガーしたりする必要があるアプリケーションを使用しています。
デベロッパーは、エコシステムでの構築と参加を実現するために API を使用し、新しい魅力的なアプリケーションを作成しています。これらの API の製品化はインターネット経済に見られるすべての魅力的な新しいビジネス アプリケーションを際立たせます。デベロッパー ポータル、API のパッケージ化、柔軟なセキュリティ オプション、運用指標のビジネス アナリティクスへの変換など、API を製品化するために必要なすべてが API 管理であり、これは Apigee によって提供されます。
Apigee について
Apigee の API 管理を使用すると、アプリケーションをモダナイズし、ビジネス チャネルを収益化できます。アプリケーションのバックエンド データやサービスへのアクセスの制御に役立ちます。また、アプリケーション デベロッパーには API にアクセスするために必要なツールを提供し、API プロバイダには API の管理やプロビジョニングに必要なツールを提供します。
API サービス: アプリケーションからバックエンド サービスへのトラフィックをルーティングする部分です。バックエンド サービスをオーケストレーションし、悪用されるのを防ぐエンタープライズ ゲートウェイとして機能します。ここで、API プロバイダは、バックエンドを保護するために、サービスでスロットリングや割り当てを適用できます。バックエンド サービスの上にファサードを構築し、外部のアプリケーションに対して内部にあるものと同等な一連のインターフェースを提示できます。アクセス制御もできるため、アプリケーションごとに異なるサービスにアクセスし、呼び出すときに異なる結果を得ることもできます。受信するリクエストを再フォーマットして、バックエンド サービスに適したものにすることもできます。バックエンド サービスから送信されたレスポンスは、アプリケーションに送り返す前に変更できます。キャッシュを追加してバックエンドへの呼び出しを回避し、キャッシュから直接応答することでパフォーマンスを改善できます。
デベロッパー ポータル: Apigee は、API のユーザーやアプリケーション デベロッパーのためにデベロッパー ポータルを提供しています。ユーザーやデベロッパーは、登録して API を使用し、サービスやドキュメントにアクセスするための認証情報を入手して、API の使用方法を確認できます。API をプロダクトとして提供する必要がある場合、API プロバイダはすべてのサービスを取得し、利用方法が異なる別々のパッケージにまとめることができます。社内ポータルである場合はシンプルでも構いませんが、社外向けの場合はウェブサイトのブランドに合うようにブランディングできます。
API 収益化: さまざまな収益化プランを作成し、API の使用に対してデベロッパーに請求、または収益分配での支払いを行うことができます。
API アナリティクス: API チームがデベロッパーのエンゲージメント指標からビジネス指標や運用指標まで、すべてを数値で測るのに役立ちます。これらのアナリティクスにより、API チームは API を改善でき、アプリ デベロッパーはアプリを改善できます。トラフィック パターン、上位のデベロッパー、人気のある API メソッド、API のレスポンス時間など、サービスの改善に必要な指標に関して調べるのに役立ちます。
Apigee では、構成とコーディングのどちらかを選択できます。基本的なことを行うためにすぐに使えるポリシーが多数用意されています。これらのポリシーを投入してトークンをリクエストしたり、コードを中心とした開発を行う場合はレスポンスのキャッシュ保存を追加したりできます。独自のポリシーを作成して投入し、すぐに使えるポリシーと組み合わせることができます。これは、JavaScript Java または Python で実行できます。
API Gateway と Apigee API 管理プラットフォームの違い
API Gateway は、API 管理プラットフォームの小さなサブセットです。これにより、サービスの実装にかかわらず、すべてのサービスで一貫性がある、明確に定義された REST API 経由で Google Cloud(Cloud Functions、App Engine、Cloud Run、Compute Engine、GKE)内のサービスへの安全なアクセスと公開を実現します。一貫性のある API とは次のような API を指します。
アプリ デベロッパーがサービスをより簡単に使用できる
パブリック API に影響を与えることなく、バックエンド サービスの実装を変更できる
Google Cloud Platform(GCP)に組み込まれているスケーリング、モニタリング、セキュリティ機能を活用できる
一方、Apigee にもゲートウェイが含まれていますが、デベロッパー ポータル、モニタリング、収益化、高度な API オペレーションやその他の拡張機能も備えているため、API の利用促進を後押しします。ゲートウェイ自体がより高性能で、ポリシーが組み込まれています。Apigee は、Google Cloud にホストされているアップストリームを含む、任意のバックエンドに接続できますが、これに限定されません。
Apigee API 管理サービスの詳細については、ドキュメントと動画のシリーズをご覧ください。
#GCPSketchnote をさらにご覧になるには、GitHub リポジトリをフォローしてください。同様のクラウド コンテンツについては、Twitter で @pvergadia をフォローしてください。thecloudgirl.dev もぜひご覧ください。
- Google デベロッパー アドボケイト Priyanka Vergadia