知っておくべき違いは?
徹底比較: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.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー