特徴 Google App Engine は主にGo 、PHP 、Java 、Python 、Node.js 、.NET 、Ruby アプリケーションをサポートしていますが、「カスタム ランタイム」を介して他の言語もサポートできます。[ 4 ]
Google App Engine 上で動作する Python ウェブフレームワークには、Django 、CherryPy 、Pyramid 、Flask 、web2py のほか、Google が作成したウェブアプリフレームワークや、リリース後に作成されたプラットフォーム専用に設計された他のフレームワークがいくつかあります。[ 6 ] CGI アダプタを使用してWSGI をサポートする Python フレームワークであればどれでもアプリケーションの作成に使用でき、開発したアプリケーションと一緒にフレームワークをアップロードできます。Python で書かれたサードパーティライブラリもアップロードできます。[ 7 ] [ 8 ]
SDK バージョン 1.2.2 では、Python を使用したデータの一括ダウンロードのサポートが追加されました。[ 9 ]
App Engine の統合Google Cloud Datastore データベースには、「GQL 」(Google Query Language )と呼ばれる SQLライクな構文があります。GQL は join ステートメントをサポートしていません。[ 10 ] 代わりに、一対多および多対多の関係は を使用して実現できます。[ 11 ] ReferenceProperty()
Google Cloud Firestore は Google Cloud Datastore の後継であり、GQL をドキュメントベースのクエリメソッドに置き換え、保存されたオブジェクトをドキュメントのコレクションとして扱います。Firestore は 2017 年 10 月にリリースされました。[ 12 ]
バックエンド Google I/O 2011で、Google はApp Engine バックエンドを 発表しました。これは継続的に実行でき、より多くのメモリを消費できます。[ 13 ] [ 14 ] バックエンド API は、モジュール API に置き換えられ、2014 年 3 月 13 日をもって非推奨となりました。[ 15 ] モジュール API では、スケーリング、バージョン管理、リソース割り当てをより細かく制御できるようになり、開発者はアプリケーションのさまざまな部分を異なるパフォーマンス設定で実行できるようになりました。[ 16 ]
Google Cloud SQL 2011 年 10 月、Google は JDBC と DB-API をサポートするメンテナンス不要の SQL データベースのプレビュー版を公開しました。[ 17 ] このサービスでは、App Engine アプリケーションでリレーショナル データベースを作成、構成、使用できます。Google Cloud SQL は MySQL 8.0、5.7、および 5.6 をサポートしています。[ 18 ]
制限 開発者はApp Engine上のファイルシステムに対して読み取り専用アクセス権しか持っていません。アプリケーションは仮想ファイルシステムのみを使用できます。 App Engine は、HTTP リクエストから呼び出されたコードのみを実行できます (スケジュールされたバックグラウンド タスクでは、HTTP リクエストを自身から呼び出すことができます)。 ユーザーは任意のPythonモジュールをアップロードできますが、純粋なPythonモジュールに限ります。C言語 およびPyrex モジュールはサポートされていません。 Javaアプリケーションは、JRE標準版のクラスのサブセット(JREクラスホワイトリスト)のみを使用できます。[ 19 ] この制限は、App Engine Standard Java8ランタイムには存在しません。 サーバー上でリクエストに応答するために開始されたプロセスは、60秒を超えて継続することはできません(バージョン1.4.0以降、この制限はバックグラウンドジョブには適用されなくなりました)。 スティッキーセッション(セッションアフィニティとも呼ばれる)はサポートされておらず、レプリケートセッションのみがサポートされています。これには、シリアル化されるデータ量とセッションシリアル化にかかる時間の制限が含まれます。
アプリケーションホスティング 他のサービスでは、ユーザーがほぼすべての *NIX 互換ソフトウェアをインストールおよび構成できますが、App Engine では、開発者はサポートされている言語、API、およびフレームワーク のみを使用する必要があります。現在の API では、ドキュメント指向のGoogle Cloud Datastore データベースからデータを保存および取得したり、HTTP リクエストを実行したり、電子メールを送信したり、画像を操作したり、キャッシュしたりできます。Google Cloud SQL [ 20 ] は、リレーショナルMySQL 互換データベース バックエンドを必要とする App Engine アプリケーションに使用できます。 [ 21 ]
日単位および分単位のクォータにより、帯域幅とCPUの使用量、処理できるリクエスト数、同時リクエスト数、および各種APIへの呼び出しに制限が設けられています。個々のリクエストは、処理時間が60秒を超える場合、または返されるデータ量が32MBを超える場合に終了します。
携帯性に関する懸念 開発者は、アプリケーションがApp Engineから移植できないことを懸念し、テクノロジーに縛られることを恐れています。[ 22 ] これに対し、App Engineのさまざまな独自/クローズドAPI、特にデータストア用のオープンソースバックエンドを作成するプロジェクトが多数存在します。
AppScaleは 、変更されていないGoogle App Engineアプリケーションを、一般的なパブリッククラウドおよびプライベートクラウドシステム、オンプレミスのクラスターに自動的にデプロイおよびスケーリングします。[ 23 ] EC2、Google Compute Engine、Azure、およびその他のクラウドベンダーでPython、Java、PHP、およびGoアプリケーションを実行できます。
Web2pyウェブフレームワークは SQLデータベースとGoogle App Engine間の移行を提供しますが、トランザクションや名前空間などのApp Engine固有の機能のいくつかはサポートしていません。[ 24 ]
Kubernetesは 、Googleが開発したオープンソースのジョブ制御システムであり、インフラストラクチャを抽象化することで、オープンソース(Dockerなど)のコンテナ化されたアプリケーションを、Amazon Web Services 、Microsoft Azure など、さまざまな種類のインフラストラクチャ上で実行できるようにするものです。
使用クォータ Google App Engine の利用開始には Google アカウントが必要で、アカウントがあれば開発者は最大 25 個の無料アプリケーションと無制限の数の有料アプリケーションを登録できます。[ 25 ]
Google App Engine は、無料アプリケーションの使用クォータを定義しています。これらのクォータの拡張をリクエストすることができ、アプリケーション開発者は追加のリソースに対して料金を支払うことができます。[ 26 ]
参考文献 ↑ 「Google App Engine と新しいブログのご紹介」。Google App Engine ブログ 。2008 年 4 月 7 日。2019年 12 月 3 日 取得 。 ↑ 「Python ランタイム環境 - Google App Engine - Google Code」 。1999 年 2 月 22 日。2012 年 2 月 14 日 取得 。 ↑ Sanderson, Dan (2009). Programming Google App Engine: Build and Run Scalable Web Apps on Google's Infrastructure . O'Reilly Media . ISBN 978-0-596-52272-8 。1 2 「Google App Engine ドキュメント | App Engine ドキュメント」 。Google Cloud。2019 年 12 月 3 日 に取得 。 ↑ 「クォータ - Google App Engine - Google Code」 。1999年2月22日。 2012年 2月14日 取得 。 ↑ "AppEngineFrameworks - tipfy - Google App Engine 用の万能な小さなフレームワーク - Google プロジェクト ホスティング" 。2012 年 2 月 14 日 に取得 。 ↑ 「Google App Engineとは? - Google App Engine - Google Code」 。1999年2月22日。 2012年 2月14日 取得 。 ↑ 「webapp の概要 - Google App Engine - Google Code」 。1999 年 2 月 22 日。2012 年 2 月 14 日 取得 。 ↑ 「データのアップロードとダウンロード - Google App Engine - Google Code」 。1999年2月22日。 2012年 2月14日 取得 。 ↑ 「キャンプファイヤー1:Google App Engineの紹介(パート3)」 。2008年4月7日 – YouTube経由。 ↑ 「エンティティ関係のモデリング - Google App Engine — Google Developers」 。2012年6月26日。 2012年 7月17日 取得 。 ↑ 「Googleがアプリ開発者向けの新しいドキュメントデータベースであるCloud Firestoreを発表」 . TechCrunch . 2017年10月3日. 2018年 7月16日 閲覧 . ↑ Google I/O 2011: App Engineのバックエンド ( YouTube) ↑ 「バックエンド Python API の概要 - App Engine の Python 標準環境 - Google Cloud Platform」 。Google Cloud Platform 。 ↑ 「バックエンド Python API の概要 - App Engine の Python 標準環境 - Google Cloud Platform」 。Google Cloud Platform 。 ↑ 「モジュール API の使用 | Google App Engine 標準環境ドキュメント」 。Google Cloud。2025 年 2 月 16 日 取得 。 ↑ 「Google Cloud SQL: クラウド上のデータベース - Google Code 公式ブログ」 。2011 年 10 月 6 日。 ↑ 「Cloud SQL の機能 - Cloud SQL ドキュメント - Google Cloud Platform」 。Google Cloud Platform 。 ↑ 「JREクラスホワイトリスト - Google App Engine - Google Developers」 。1999年2月22日。 2015年3月20日に オリジナルからアーカイブ済み 。 2013年 6月14日 に取得。 ↑ 「Google Cloud SQL データベース - Cloud SQL - Google Cloud Platform」 。Google Cloud Platform 。 ↑ 「Google Cloud SQL - Java 用 App Engine 標準環境の使用 - Google Cloud Platform」 。Google Cloud Platform 。 ↑ ギャラガー、ショーン(2008年4月9日)。 「分析:Google App Engineは魅力的だが、逃れるのは難しいだろう」 。Ars Technica 。 2012年 7月17日 取得 。 ↑ AppScaleがGoogle App Engineに匹敵するオープンソースのバックアップツールとしてローンチ。TechCrunch(2013年6月24日)。2013年9月18日閲覧。 ↑ 2010年2月20日にWayback Machine に アーカイブされました。↑ 「Google App Engine に関する一般的な質問」 。Google Developers。2015 年 6 月 18 日 取得 。 ↑ 「Google App Engine のアプリケーション割り当てについて理解する」 。2010 年 4 月 16 日 に取得。
参考文献 サンダーソン、ダン(2012年10月26日)、『プログラミング Google App Engine (第2 版)』、O'Reilly Media 、536ページ 、ISBN 978-1449398262 de Jonge, Adriaan (2011年10月31日)、Essential App Engine: Building High-Performance Java Apps with Google App Engine (第1 版)、Addison-Wesley Professional 、p. 304、ISBN 978-0-321-74263-6 Guermeur, Daniel; Unruh, Amy (2010年11月24日)、Google App Engine JavaおよびGWTアプリケーション開発 (第1 版)、Packt Publishing 、p.480 、ISBN 978-1-84969-044-7 Roche, Kyle; Douglas, Jeff (2009年12月31日)、Beginning Java Google App Engine (第1 版)、Apress 、p. 375、ISBN 978-1-4302-2553-9 サンダーソン、ダン(2009年11月23日)『プログラミング Google App Engine (第1 版)』、オライリー・メディア、 400ページ、ISBN 978-0-596-52272-8 セベランス、チャールズ(2009年5月22日)、『Google App Engine の使い方』 (第1 版)、O'Reilly Media 、p. 262、ISBN 978-0-596-80069-7 Ciurana, Eugene (2009年2月2日)、Developing with Google App Engine (第1 版)、Apress 、p. 164、ISBN 978-1-4302-1831-9
外部リンク 公式マーケティングページ 公式サイト Google Cloud Platform 公式ブログ リリースノート Google App Engine - Googleのインフラストラクチャ上でウェブアプリケーションを実行する-スタンフォード大学 で行われたGoogleエンジニア、グイド・ヴァン・ロッサム氏 による技術講演。(オンラインビデオアーカイブ) Google App Engine を採用するメリット ( 2017年2月2日、 Wayback Machineに アーカイブ) Google App Engine で外部データベースを使用する ( 2017年8月6日、 Wayback Machineに アーカイブ) サポートされているJavaフレームワークとライブラリ Web2py ブック -- オンラインドキュメント -- Google App Engine デプロイレシピ Google Cloud SQL サンプルプロジェクト Google Cloud は node.js をサポートしています Appmd :Python開発サンプルプロジェクト。App Engine/Django/Google Closure/Endpoints/Material Design