Azure API センター とは?
Azure API Center は Azure 上の新しいサービスであり、組織のすべての API の構造化されて一元化されたリポジトリを提供し、統合された追跡、検出、再利用、ガバナンスを可能にします。 API Center は、API ランタイムの種類、開発ライフサイクル ステージ、デプロイ場所に関係なく、すべての API をメタデータや API 関連の情報と共に統合して整理する、セキュリティで保護されたソリューションです。
API Center の利点
お客様の問題 | API Center の利点 |
---|---|
API を簡単に見つけて再利用できない | 検出と使用が容易な API。 API マネージャーは、Azure portal ですべての API の完全なインベントリを見ることができます。 API コンシューマーは、Web ベースの API Center ポータルを使って API を検出して使用したり、Visual Studio Code 用の API Center 拡張機能を使って API を構築、検出、使用したりできます。 |
シャドー、管理されていない API | API の一元的なインベントリ。 API Center を使うと、組織は、すべての API の真実と信頼の統合されたソースとして機能する API の中央リポジトリを、さまざまなチームや部門から構築できます。 |
セキュリティ上の潜在的な脅威が存在する | 容易な API ガバナンス。 API を 1 つの場所に統合することで、これらの API を管理して組織のセキュリティ ポリシーを適用することが、API プラットフォーム チームにとってより簡単になります。 |
API の設計に一貫性がない | API の設計の自動準拠チェック。 API Center を使うと、管理者は、すべての API に設計標準を適用でき、定義されたスタイル ガイドに照らして API をチェックし、API Center でアクセス可能な API コンプライアンス レポートを生成するリンティング ワークフローを実装できます。 |
API エコシステムの役割と責任
組織の API エコシステムは、多くの場合、運用の成功に不可欠な多様な責任を持つさまざまな役割で構成されています。 役割の一部を詳しく見てみましょう。
API プロデューサー: 個々の開発者またはチームであり、主な責任は次のとおりです。
- システムの仕様と要件の取りまとめ
- 定義された目標に合った API アーキテクチャの設計
- API の開発、セキュリティ保護、発行
- API が機能とパフォーマンス両方の要件を満たすことのテストと確認
- API の文書化
- バージョンと更新の管理を含む API メンテナンス作業
API プロデューサーは、ベスト プラクティス、セキュリティとコンプライアンス ポリシー、および一貫性のための組織の API 標準に従うように努めます。 また、組織内の以前または他のチームの作業と重複していないことを確認する必要もあります。
API コンシューマー: 次のような内部または外部の API ユーザーです。
- 内部のビジネス ワークフローとサービスでプライベート API を使う ("内部コンシューマー")
- 制限付きの API エンドポイントを使って、戦略的なビジネス パートナーシップに統合する ("パートナー コンシューマー")
- パブリックに利用可能な API を使い、組織によって提供されるサービスを使う外部システムを構築する ("サード パーティ コンシューマー")
API コンシューマーは、貴重な開発リソースと作業が重複に浪費されないよう、ワークロードに最適な API をすばやく見つける必要があります。 これを実現するには、それぞれのニーズを解決する API を検証するための高品質で使いやすいドキュメントが提供され、自分のアプリケーションにシームレスに統合できることが重要です。
API プラットフォーム チーム - API プラットフォーム エンジニアは、組織のスケーラブルでセキュリティで保護された高パフォーマンスの API アーキテクチャの作成と維持に関心を持っています。 次のようなタスクがあります。
- API アーキテクチャの設計と開発
- 組織全体で API のベスト プラクティスと設計標準を確立して適用する
- 監視、分析、レポートを適用して実用的な分析情報を生成する
- 認証、認可、暗号化プロトコルを使用して API セキュリティを実装して管理する
- API 戦略に合わせて製品マネージャー、API プロデューサー、コンシューマー間のコラボレーションとフィードバックを促進する
- 内部と外部の両方で API 統合とトラブルシューティングを支援する
Contoso の API プラットフォーム エンジニアは連携して、組織で API の無秩序な拡散が発生するのを防ぐ、導入しやすい戦略を展開します。
API Center のしくみ
組織内の API プラットフォーム エンジニアには、API のバージョンや定義などの他のメタデータと共に、すべての API (内部と外部の両方) の一元化されたリポジトリを迅速かつ簡単に構成する方法が必要です。 API Center を使うと、さまざまな API 管理ソリューションでホストおよび管理されている API のカタログを作成し、さまざまな設計、開発、テスト、運用のライフサイクルを通して管理できます。
Azure API Center の機能
API インベントリ
API Center の基礎となるのは、組織全体で構築および使用されるすべての API の完全で最新のインベントリを作成することです。 このインベントリは、API の大規模なガバナンス、検出、使用を可能にするために重要です。
API Center では、次のことに関係なく API をインベントリに追加できます。
- API のテクノロジと言語: ASP.NET Core Web API、Express、FastAPI、サーバーレス API など。
- API の種類: REST、GraphQL、SOAP、gRPC、WebSocket、Webhook など。
- ランタイム環境: Kubernetes クラスター、Web アプリ、API Management、Apigee API Management、Azure Functions など。
API ガバナンス
完全な API インベントリができたら、これらの API を一貫し、標準化され、有用で、安全なものにする方法を調べる必要があります。 API ガバナンスは、組織のすべての API に対して標準、ポリシー、プロセスを広範囲に定義して適用するプラクティスとして定義されます。
API Center のこの機能により、バージョン、所有者、ライフサイクルなどのメタデータを使った API の追跡と、コンプライアンス レビューや破壊的変更の検出などのプロセスの追跡が簡単になります。
API Center には、登録された API が組織のスタイル規則に準拠することを確認し、API の分析機能を提供する、Spectral JSON/YAML リンターを使って実装されたリンティングをサポートする API 設計ガバナンスに関するツールも用意されています。 組織でこれを有効にすると、API Center で表示できるコンプライアンス レポートを生成して、エラーや不整合を早期に検出するのに役立ちます。
API プラットフォームに関する取り組みは、開発者が関わることで最も成功します。 Visual Studio Code 用の API Center 拡張機能では、破壊的変更を検出するためのシフトレフト API ガバナンス機能と、API が最初から正しく構築されるようにする API 設計ガバナンスが提供されます。
API の検出と使用
API Center は、API 開発ライフサイクル全体を効率化し、Visual Studio Code などの一般的な開発者ツールと統合することで開発者エクスペリエンスを向上させます。 API Center 拡張機能は、API が既に動作しているコンテキストにおいて Visual Studio Code 内で直接それらを検出、試用、使用するためのエクスペリエンスを API コンシューマーに提供します。 API Center のもう 1 つの機能は、従来の Web ベースの API Center ポータルで、API コンシューマーが簡単に API カタログからドキュメント内を移動し、API を検出、アクセス、使用できるように設計されています。
次のユニットでは、Azure portal から、ローカル環境で Azure CLI を使って、または API Center 拡張機能を使って VS Code で、API インベントリの作成と管理を行う方法について説明します。