知っておくべき違いは?
徹底比較:AWS、Azure、GoogleのクラウドAPI管理ツール
大手クラウドプロバイダーのAPI管理ツールは、一部の機能が共通している。だが、各社のツールには、開発者が知っておくべき重要な違い、特に、マルチクラウドモデルにおける重要な違いがある。
クラウドAPI管理サービスは、開発者がAPIの保護、バージョン管理、モニタリング、使用状況の分析などを簡単に行えるようにする。パブリッククラウドの「Amazon Web Services(AWS)」「Microsoft Azure」「Google Cloud Platform(GCP)」は、それぞれのバックエンドサービスと緊密に統合されたAPI管理エンジンを提供している。
こうした各クラウドAPI管理サービス(「Amazon API Gateway」「Azure API Management」「Google Cloud Endpoints」)の最大の強みは、それぞれのプロバイダーのツールおよびサービスのエコシステムをネイティブにサポートすることだ。だが、これらのサービスは、開発者がクラウドAPI管理サービスに求めるモニタリング、認証、テストなどの機能に関しては異なっている。また、マルチクラウドアーキテクチャのアプリケーションを構築する開発者は、最終的にサービスを選ぶに当たっては、異なるクラウドプラットフォームにまたがって動作することを確認しなければならない。
本稿では、これら大手パブリッククラウドプロバイダーが提供するAPI管理サービスの主要機能の概要を紹介する。
一般的な長所と短所
AWS
Amazon API Gatewayをユニークなものにしている機能の1つは、一連の「AWS Lambda」関数を動的に呼び出すフロントエンドの役割を果たせることだ。これにより、開発者は必要に応じて関数を起動でき、アプリケーションを不要なときも継続して実行する必要がない。その半面、このモデルをプライベートクラウドで使用する開発者は、プライベート接続をセットアップするために、API関連のより多くの作業を行う必要がある。
Azure
Azure API Managementは、強固な信頼性とガバナンス機能を備えている。Microsoftが2013年に買収したApiphanyのAPI管理技術を拡張したものであるため、外部のサービスもサポートする。またAzureは、クラウドAPI管理サービスのサービスレベル契約を提供する唯一のパブリッククラウドでもある。
開発者は、Azure API Managementに代わる手軽な選択肢である「Azure Functionsプロキシ」の利用も検討すべきだろう。開発者はこのプロキシを使って、API機能を複数のサーバレス関数に分割できる。
GCP
Google Cloud Endpointsは、Google Cloudのエコシステムに対応したアプリケーションコーディングをサポートする。Googleは、このサービスで複雑なガバナンスシナリオをサポートしたり、「Google Cloud Functions」を動的に呼び出したりするための取り組みも進めている。
クラウド開発者は、ハイブリッドクラウドやマルチクラウドシナリオでのAPI管理のために、Googleの「Apigee APIプラットフォーム」の利用を考えてもよいかもしれない。このサービスは、Googleが2016年のApigeeの買収で獲得した技術に基づいている。
管理
こうした各クラウドAPI管理サービスでは、開発者は、APIについてポリシーを設定するのに役立つさまざまな管理ツールを利用できる。
AWSは、Amazon API Gatewayのサービスの管理に対応した幅広いツールを提供している。その中には、スケーラビリティを管理できる「AWS Elastic Beanstalk」や、コードを管理できる「AWS CodeDeploy」「AWS CodeCommit」「AWS CodePipeline」などが含まれる。Azureは、APIテストなどのタスクを完了できる開発者ポータルを提供しているが、AWS開発者は、GitHubで提供されるレファレンス実装を使用する必要がある。
Azure API Managementは、管理インタフェースとしてAzureポータルを使用しており、上で述べたように、APIテストや開発者のオンボーディング(新入社員が業務を円滑に行えるようにするための一連の支援プロセス)を容易にするAzure開発者ポータルも用意されている。開発者はXMLやC#でAPI管理ポリシーを作成でき、アクセス制御リストや開発者サブスクリプションをセットアップすることもできる。
Googleは、開発者が「OpenAPI」仕様を使って管理作業をカスタマイズできるようにしている。また開発者ポータルで、API管理ツールなどさまざまなツールを提供している。
テスト
開発者や品質保証チームは、新しいアプリケーションを本番環境に移行する前に、API機能をテストしなければならない。APIシミュレーション(「モック」とも呼ばれる)により、開発者はAPI機能をデプロイ前にテストできる。
Amazon API Gatewayは、バックエンドの完成前に開発者がAPI応答を生成できるモック統合をサポートする。Microsoft Azureは、モック応答を返すようAPIにポリシーを動的に設定するテストツールを提供している。
Googleは、Google Cloud Endpointsの動作をテストできるビルトインモック機能を提供していない。だが、開発者は「Google Cloud Emulators」を使って、モックと同等の機能をセットアップし、Dockerコンテナでデプロイできる。
Google Cloud Emulatorsは、イベントストリームを取り込む「Google Cloud Pub/Sub」、データソースとなる「Google Cloud Datastore」「Google Cloud Bigtable」との通信をエミュレートするコンポーネントを含んでいる。このエミュレートは、GCPのコマンドラインツール「gcloud」のエミュレータコマンド(β版)で実行される。
認証とアクセス制御
認証機能は、認可されたユーザーとアプリケーションだけがクラウドAPIおよびデータにアクセスすることを保証する。
AWSでは、開発者は標準の「AWSロール」や、「Amazon Cognito」「AWS Identify and Access Management(IAM)」などさまざまなツールを、Lambda関数で作成したカスタムOAuthトークンとともに使って、APIアクセスを構成できる。
Azureは、「Active Directory」を使ってアクセス制御を管理する。Active Directoryは、OAuth、JSON Webトークン、IPフィルタリングによって、開発者に加えてアプリケーションサービスの呼び出しを認証できる。
Googleでは、JSON WebトークンとGoogle APIキーがGoogle Cloud Endpointsのアクセスを管理する。いずれもOAuthと「Firebase」による認証管理インフラと統合できる。
モニタリング
モニタリングは、クラウドAPI管理サービスの重要なコンポーネントとなっている。開発者はAPIのパフォーマンス、機能、可用性を追跡する必要があるからだ。
AWSのメインのアプリケーションモニタリングツールは、「Amazon CloudWatch」だ。CloudWatchは、リソースとパフォーマンスの全体的なビューを提供し、指標とログに基づいて最適化の提案を行う。4xxエラー(クライアント側エラー)や5xxエラー(サーバ側エラー)など、さまざまな指標を収集する。また、「AWS CloudTrail」は、リソース、API呼び出し、ユーザーアクセスの監査とログ記録を行う。
Microsoftが提供する「Azure Monitor」は、API呼び出しの回数、帯域幅、応答時間を追跡し、「Azure Event Hub」を介して、APIの動作の管理が行われるようにする。AWSと同様に、このツールは指標やログ情報(「Failed Gateway Requests(失敗したゲートウェイ要求)」など)も提供する。
一方、Google開発者は、「Google Cloud Platformコンソール」を使ってAPIをモニタリングし、「Google Stackdriver Trace」「Google Stackdriver Logging」でパフォーマンスを詳しく分析できる。
マルチクラウドでのAPI管理
マルチクラウドアーキテクチャのアプリケーションを手掛ける開発者は、他にも幾つかのことを念頭に置かなければならない。
例えば、アプリケーションが主にAWSでホストされているが、1つのGoogleサービスにアクセスする場合、Amazon API Gatewayを使うのが理にかなっている。だが、もっと複雑なマルチクラウドシナリオでは、開発者は、複数のクラウドにまたがって動作するサードパーティーのクラウドAPI管理エンジンの恩恵を受けるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品レビュー
「電子帳簿保存法対応」実践術:タイムスタンプ付与などの要件の手軽な実現方法 -
事例
「大企業のデジタル化」成功事例集【コクヨ、九州電力、ヨネックスなど21社】 -
製品資料
“顧客管理の課題”を簡単に解決する方法とは? -
製品資料
契約管理の“あるある課題”をノーコード開発で解決するためのポイント -
製品資料
揺らぐ境界防御 いま企業が特に警戒すべき「3つのセキュリティ課題」とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
2
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
3
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
4
継続利用は4割どまり M365 Copilotが「効く業務」と期待外れの境界
-
5
画面をティッシュで拭くのはNG Dellが推奨するPCの正しいお手入れ方法
-
6
VDI運用の“生きたノウハウ”を共有 歴史あるユーザー会の魅力とは?
-
7
メインフレームは死なず AI活用で20年来の高収益をたたき出す基幹システムの底力
-
8
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
9
「GitHub Copilot」3000人に配布も基本機能しか使われない 保険大手が得た教訓
-
10
GitHub Copilotを使いこなす第一歩 初めてのプロンプト6つのコツ
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
4
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
8
AIエージェントで成果は出る? 調査結果に見る費用対効果の実態
-
9
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
10
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー