* この投稿は米国時間 9 月 1 日、Google Cloud Platform の Product Manager である Dan Ciruli によって投稿されたもの(投稿はこちら)の抄訳です。


私たち Google は先ごろ、Google Cloud Endpoints の最新機能セットとオープンソース コンポーネントをベータ リリースしました。Cloud Endpoints は、Google Cloud Platform(GCP)で実行される、任意の言語で書かれた API のデプロイ、保護、モニタリング、管理を行う分散 API 管理スイートです。


また、レイテンシを低減し、カスタム ドメインをサポートしてデバッグの機能を強化した JavaPython 用の Cloud Endpoints Frameworks の新バージョンもリリースしました。


私たちにとって、Google のウェブ API の規模に対応しつつ、マイクロサービスのサージも処理できるパフォーマンスを備えた API プラットフォームを構築することは、大きな課題でした。


この難題を解決するため、私たちは伝統的な API 管理機能を自分で処理するサーバー サイド プロキシを開発しました。この方法ならネットワーク ホップを避けられます。社内テストではレイテンシがミリ秒未満になりましたが、これは従来のスタンドアロン プロキシの数十、数百ミリ秒とは大きな違いです。


そしてこのたび、このアーキテクチャを広く皆さんに公開することになりました。Extensible Service Proxy(ESP)は、サーバー ローカル アーキテクチャで実行されるように設計された NGINXf ベースのプロキシです。コンテナ化された環境あるいは単独でデプロイされるように設計され、Google Service Control との統合により、極端に低いレイテンシでのモニタリング、権限チェック、API キー チェックなど、Google が自社 API 管理で使っている多くの機能を提供します。


加えて、私たちは OpenAPI Specification のサポートも発表しました。Google は Open API Initiative(OAI)の設立時からのメンバーで、REST API の記述方法を標準化することの意味を理解しています。


Open API Specification を採用する企業は、それぞれが選んだ言語とフレームワークを使ってアプリケーションを開発しつつ、OAI のツール セットから得られるメリットを享受できます。


Google Cloud Endpoints の機能

Cloud Endpoints のベータ リリースには、モバイル アプリ、ウェブ アプリ、他サービスのいずれからアクセスされるかにかかわらず、独自 API の管理に必要とされる広範な機能が含まれています。


Cloud Endpoint では、利用度、エラー、消費のグラフとともに基幹 API の状態をモニタリングできます。また、API 呼び出しのログを Google Cloud Logging に、トレース情報を Google Cloud Trace に送り、Google Big Query との統合を通じて強力なアナリティクスを実現します。


さらに、組み込みの Google 認証と、Auth0Firebase Authentication との統合を通じてエンドユーザー認証をサポートし、API キーを作成、チェックしてクライアントごとの利用を追跡します。





Cloud Endpoints は、バックエンドとして使いたい言語とフレームワークをデベロッパーが簡単に選べるように設計されています。OpenAPI Specification(以前は Swagger と呼ばれていたもの)に基づき、Google App Engine standard / flexible environment、Google Compute EngineGoogle Container Engine で実行されるバックエンドをサポートします。


たとえば App Engine standard / flexible environment では、1 行の構成変更で透過的にプロキシ機能を追加することも、Kubernetes や Container Engine 上のコンテナ化バージョンのプロキシをデプロイすることも可能です。


GCP ユーザーはすでに Cloud Endpoints で開発を大幅に強化しています。Vendasta のテクニカル リーダー、Braden Bassingthwaite 氏は、「Cloud Endpoints のおかげで、私たちは今までになくスピーディかつ着実に API を構築、リリースできています。認証やパフォーマンス、状態のモニタリングを気にせずに済むようになり、優れた API を構築するために必要な時間と労力を削減できました」と述べています。


Java、Python 用の Endpoints Frameworks

上述したように、私たちは新しい API 管理機能とともに、App Engine standard environment で実行される Java、Python のための Google Cloud Endpoints API Frameworks の新バージョンも発表しました。


新バージョンのフレームワークは、レイテンシを低減し、デベロッパー エクスペリエンスを向上させ、カスタム ドメインをサポートしました。また、新しい API 管理機能をオプトインできるようになっています。


Endpoints Frameworks の詳細は、JavaPython 用のドキュメントを参照してください。


ぜひお試しを!

ベータ テストの最初の一部期間は Cloud Endpoints の API 管理機能が無償で提供されます。最終的な価格体系についてはベータ期間中に発表される予定です。


API は、GCP が重点を起き、力を注いできた分野です。Endpoints チームは今後、サポートするユースケースを増やし、Identity and Access Management(IAM)との統合、レート リミットとクォータ、デベロッパー ポータルなどの機能を追加した新リリースを提供する予定です。どうぞご期待ください。


Cloud Endpoints の詳細はドキュメントをご覧ください。また、App Engine standard / flexible environmentContainer EngineCompute Engine のそれぞれについてクイックスタート ガイドが用意されていますので、試してみてください。そして、Google Cloud Endpoints Google Group に参加し、フィードバックを送っていただければ幸いです。


- Posted by Dan Ciruli, Product Manager, Google Cloud Platform