API プロダクトライフサイクル管理を簡単にする
March 28, 2023
現代のAPIは、内部システムや第三者によって消費される製品として設計、構築、実行されることが多く、同様に管理される必要があります。多くの大規模組織は、APIを重要な戦略的コンポーネントと見なし、そのためAPIプログラム戦略を策定し、明確なビジネス目標、制約、リソースを設定します。戦略が設定されると、日々の戦術的アプローチはしばしばAPIライフサイクル管理に焦点を当てます。
フルライフサイクルAPI管理(APIM)は、APIの計画段階から始まり、APIが廃止されるまでの全期間をカバーします。ライフサイクル内の多くの段階は、APIゲートウェイ(API管理システムの主要コンポーネント)と統合されています。この記事では、3つの主要なAPI製品ライフサイクルステージ(作成、制御、消費)を解説し、各ライフサイクルステージでAPIゲートウェイが重要である理由を探ります。
APIライフサイクルの10の典型的な段階
APIライフサイクルは、APIの進捗をチャート化し、成熟に応じて管理を適応させるのに役立つモデルです。一般的に、APIライフサイクル管理は以下のいくつかの異なるフェーズに分けることができます:
- 構築 - APIを設計および構築します。
- テスト - 機能、パフォーマンス、セキュリティの期待値を検証します。
- 公開 - 開発者にAPIを公開します。
- セキュリティ - セキュリティリスクと懸念を軽減します。
- 管理 - APIを維持および管理し、機能性、最新性、ビジネス要件の達成を確保します。
- オンボーディング - 開発者が公開されたAPIを迅速に利用できるようにします。例えば、OpenAPIやAsyncAPIのドキュメントを提供し、ポータルとサンドボックスを提供します。
- 分析 - 可観測性を有効にし、モニタリングデータを分析して使用状況を理解し、問題を検出します。
- プロモーション - 開発者にAPIを宣伝します。例えば、APIマーケットプレイスにリストします。
- 収益化 - APIの使用に対して課金および収益収集を有効にします。このAPIライフサイクル管理の側面については、次のセクションで別の段階として取り上げます。
- 廃止 - APIの非推奨化と削除をサポートします。これは、ビジネス優先順位の変更、技術の変化、セキュリティ上の懸念など、さまざまな理由で行われます。
製品のライフサイクルには、_開発、成長、成熟、衰退_という4つの一般的に受け入れられている段階があることを考慮してください。これらの段階は、市場需要の観点からすべての製品が通過します。ここで、_製品ライフサイクル_の概念をAPIに適用し、_作成、公開、実現、維持、廃止_の5つの段階からなる_API製品ライフサイクル_を考え出します。APIゲートウェイを統合してAPI製品ライフサイクル全体を管理することで、このリストをさらに3つの主要なフェーズ(作成、制御、消費)に絞り込むことができます。
以下の図は、APIライフサイクル管理がAPIゲートウェイとバックエンドサービスとどのように統合されるかを示しています:
これら3つの段階をそれぞれ見ていく前に、まずAPIゲートウェイが実際にどのような問題を解決できるかを理解しましょう。
APIゲートウェイが解決する主要な問題
API、トラフィック管理、および関連技術を扱う際には、短期的な実装と長期的な保守性の両方をバランスさせる必要があります。APIに関連する多くの横断的な懸念事項があり、_保守性、拡張性、セキュリティ、可観測性、製品ライフサイクル管理、収益化_などが含まれます。APIゲートウェイは、これらすべてに役立ちます!
以下は、APIゲートウェイが対処できる主要な問題の概要です:
- フロントエンドとバックエンドの間でアダプター/ファサードを使用して結合を減らす。
- バックエンドサービスを集約/変換して消費を簡素化する。
- 脅威検出と軽減によりAPIの過剰使用や悪用から保護する。
- APIがどのように消費されているかを理解する(可観測性)。
- APIを製品として管理するためにAPIライフサイクル管理を行う。
- アカウント管理、課金、支払いを使用してAPIを収益化する。
API作成フェーズ
API作成フェーズは、API製品ライフサイクル管理プロセスの最初の段階であり、APIを設計、オーケストレーション、変換、ドキュメント化、テストします。この段階では、Apache APISIXのような現代のAPIゲートウェイが役立ちます。APIをゼロから構築したり、OpenAPI YAML/JSON構造からAPI定義をインポートしてRouteやUpstreamsを登録したりできます。
他の既存のAPIからの情報を組み合わせて新しいAPIを公開したい場合があります。APIゲートウェイのレスポンス合成機能を使用して、これを実現できます。または、内部システムと外部システムを新しいAPIで接続する場合、XML/SOAPからJSON REST、またはその逆の異なる形式で通信する場合があります。既存のREST APIがあるが、新しいGraphQL APIを構築している場合、例えば、Apache APISIXを使用してGraphQL APIをREST APIに変換できます。
公開前に、APIテストを完了して、クライアントアプリケーションとの確立されたAPI契約を満たしていることを確認することが重要です。そのような場合、APIゲートウェイを使用してAPIレスポンスをモックアップし、統合をテストできます。
API制御フェーズ
制御フェーズでは、APIにセキュリティポリシーを適用し、デプロイ、管理、監視、スケーリングします。テスト後、APIを保護して、許可されたユーザーとアプリケーションのみがAPIにアクセスできるようにし、不正アクセスや悪用を防ぐ必要があります。これには、入力検証、OAuth、APIキーなどの技術を使用したり、APIゲートウェイで使用制限やクォータを設定してAPIへのアクセスを管理したりすることが含まれます。また、APIメトリクス、トレース、ログを監視し、分析データに基づいてAPIパフォーマンスを最適化します。
同じフェーズで、APIゲートウェイを使用したさまざまなAPIリリース戦略を活用して、APIをターゲット環境(開発、テスト、ステージング、本番)に即座にデプロイし、セットアップ作業なしでダウンタイムなしで行うことができます。APIをDevOpsツールと統合して、継続的インテグレーション/継続的デプロイメント(CI/CD)のベストプラクティスを使用してデプロイ時間を効率的に短縮します。
この段階では、APIの変更を時間をかけて管理し、更新や変更が適切にテストされ、意図しない結果を引き起こさないようにします。複数のAPIバージョンを追加して更新を管理できます。
API消費フェーズ
API消費フェーズでは、APIが開発者や他の外部ユーザーに利用可能になります。これには、開発者が公開されたAPIを消費できるようにすること、OpenAPIドキュメントを提供すること、開発者が統合をテストするためのサンドボックス環境を提供することが含まれます。
API消費者は、_APIの実際のユーザー_です。API管理ソリューションを使用して、単一および複数のAPI消費者を登録し、さまざまな消費者(プライベート、パートナー、またはパブリックAPIユーザー)に対してさまざまなルールを設定できます。
この段階では、さまざまなAPIプロモーション戦略を活用して、開発者にAPIを宣伝し、APIマーケットプレイスにリストすることができます。さらに、APIの使用に対して課金および収益収集を有効にすることを検討することもできます。
まとめ
全体として、API製品ライフサイクル管理は、作成、制御、消費の3つの主要なフェーズで構成されます。API作成フェーズは、APIライフサイクル管理プロセスにおける重要な段階であり、APIの成功の基盤を築きます。API制御フェーズは、APIが安全で、パフォーマンスが高く、許可されたユーザーとアプリケーションが利用できるようにするのに役立ちます。API消費フェーズは、開発者や他のユーザーがAPIから価値を引き出し始めるポイントです。APIが十分にドキュメント化され、使いやすく、パフォーマンスが良いことを確保することで、組織は採用を促進し、API投資の価値を最大化できます。
APIゲートウェイは、APIの前に位置し、定義されたサービスのグループのエントリーポイントとして機能するツールです。API管理の全ライフサイクルに参加し、APIの作成、デプロイ、管理のプロセスをカバーします。APIゲートウェイを使用する利点には、各消費者に最適なAPIを提供すること、リクエスト数を減らすこと、セキュリティポリシーを強制することが含まれます。