| 開発者 | グーグル |
|---|---|
| 初回リリース | 2008年4月7日[1] |
| タイプ | サービスとしてのプラットフォーム |
| Webサイト | google.com/appengine/ からダウンロードできます。 |
Google App Engine ( GAEまたはApp Engineとも呼ばれる)は、ウェブアプリケーションの開発とホスティングのためのサービスとして使用されるクラウドコンピューティング プラットフォームです。アプリケーションはサンドボックス化され、Googleが管理する複数のサーバーで実行されます。[2] GAEはウェブアプリケーションの自動スケーリングをサポートしており、リクエストの量が増えるとウェブアプリケーションに多くのリソースを割り当てます。[3] 2008年4月にプレビューとしてリリースされ、2011年9月に正式にリリースされました。
App Engineでは、Go、PHP、Java、Python、Node.js、.NET、Rubyで書かれたアプリケーションがサポートされており、追加料金を支払えば他の言語もサポートされます。 [4]サービスの無料版では、リソースが制限された標準環境が提供されます。追加のストレージ、帯域幅、またはインスタンス時間には料金が発生します。 [5]
特徴
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 は結合ステートメントをサポートしていません。[10]代わりに、1 対多および多対多の関係は を使用して実現できます。[11]ReferenceProperty()
Google Cloud FirestoreはGoogle Cloud Datastoreの後継であり、GQLをドキュメントベースのクエリ方式に置き換え、保存されたオブジェクトをドキュメントのコレクションとして扱います。Firestoreは2017年10月にリリースされました。[12]
バックエンド
Google I/O 2011で、Googleは継続的に実行でき、より多くのメモリを消費できるApp Engine Backendsを発表しました。 [13] [14] Backend APIは2014年3月13日をもって廃止され、Modules APIに置き換えられました。[15]
Google クラウド SQL
2011年10月、GoogleはJDBCとDB-APIをサポートするメンテナンス不要のSQLデータベースをプレビューしました。[16]このサービスにより、App Engineアプリケーションでリレーショナルデータベースを作成、構成、使用できるようになります。Google Cloud SQLはMySQL 8.0、5.7、5.6をサポートしています。[17]
制限
- 開発者は、App Engine 上のファイル システムに対して読み取り専用アクセス権を持ちます。アプリケーションは仮想ファイル システムのみを使用できます。
- App Engine は、HTTP リクエストから呼び出されたコードのみを実行できます (スケジュールされたバックグラウンド タスクでは、自己呼び出しの HTTP リクエストが許可されます)。
- ユーザーは任意の Python モジュールをアップロードできますが、純粋な Python モジュールに限ります。CおよびPyrexモジュールはサポートされていません。
- Javaアプリケーションは、JRE標準エディションのクラスのサブセット(JREクラスホワイトリスト)のみを使用できます。[18]この制限は、App Engine標準Java8ランタイムには存在しません。
- リクエストに応答するためにサーバー上で開始されたプロセスは、60 秒を超えて継続することはできません (1.4.0 リリースでは、この制限はバックグラウンド ジョブには適用されなくなりました)。
- スティッキー セッション (セッション アフィニティとも呼ばれます) はサポートされません。シリアル化されるデータの量とセッション シリアル化の時間の制限を含む、複製されたセッションのみがサポートされます。
アプリケーションホスティング
他のサービスでは、ユーザーはほぼすべての*NIX互換ソフトウェアをインストールして構成できますが、App Engineでは、開発者はサポートされている言語、API、フレームワークのみを使用する必要があります。現在のAPIでは、ドキュメント指向のGoogle Cloud Datastoreデータベースからのデータの保存と取得、HTTPリクエストの送信、電子メールの送信、画像の操作、キャッシュが可能です。Google Cloud SQL [19]は、リレーショナルMySQL互換データベースバックエンドを必要とするApp Engineアプリケーションに使用できます。[20]
1 日あたりおよび 1 分あたりの割り当てにより、帯域幅と CPU の使用、処理されるリクエストの数、同時リクエストの数、およびさまざまな API の呼び出しに制限が課せられます。個々のリクエストは、60 秒以上かかるか、32 MB を超えるデータを返す場合は終了します。
移植性に関する懸念
開発者は、アプリケーションがApp Engineから移植できないことを心配し、その技術に縛られることを恐れています。[21]これに対応して、App Engineのさまざまな独自/クローズドAPI、特にデータストア用のオープンソースのバックエンドを作成するプロジェクトが数多くあります。
AppScaleは、一般的なパブリックおよびプライベートクラウドシステムやオンプレミスのクラスタ上で、変更されていないGoogle App Engineアプリケーションを自動的にデプロイおよびスケーリングします。[22] EC2、Google Compute Engine、Azure、その他のクラウドベンダーでPython、Java、PHP、Goアプリケーションを実行できます。
Web2pyウェブフレームワークはSQLデータベースとGoogle App Engine間の移行を提供しますが、トランザクションや名前空間などのApp Engine固有の機能のいくつかはサポートしていません。[23]
Kubernetesは、インフラストラクチャを抽象化して、オープンソース (Docker など) のコンテナ化されたアプリケーションをAmazon Web Services、Microsoft Azureなどの多くの種類のインフラストラクチャ上で実行できるようにするために Google によって発明されたオープンソースのジョブ制御システムです。
使用量制限
Google App Engineを開始するにはGoogleアカウントが必要であり、アカウントにより開発者は最大25の無料アプリケーションと無制限の数の有料アプリケーションを登録できます。[24]
Google App Engineは無料アプリケーションの使用割り当てを定義しています。これらの割り当ての拡張をリクエストすることができ、アプリケーション作成者は追加のリソースに対して料金を支払うことができます。[25]
参照
参考文献
- ^ 「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). プログラミング Google App Engine: Google のインフラストラクチャ上でスケーラブルな Web アプリを構築および実行する。O'Reilly Media . ISBN 978-0-596-52272-8。
- ^ ab 「Google App Engine ドキュメント | App Engine ドキュメント」。Google Cloud。2019年12 月 3 日閲覧。
- ^ 「Quotas - 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 日閲覧。
- ^ 「Campfire One: 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: YouTubeでの App Engine バックエンド
- ^ 「バックエンド Python API の概要 - Python 用 App Engine 標準環境 - Google Cloud Platform」。Google Cloud Platform。
- ^ 「バックエンド Python API の概要 - Python 用 App Engine 標準環境 - Google Cloud Platform」。Google Cloud Platform。
- ^ 「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 日。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。
- ^ Gallagher, Sean (2008 年 4 月 9 日)。「分析: Google App Engine は魅力的、逃れることは難しい」。Ars Technica。2012年7 月 17 日閲覧。
- ^ AppScale が Google App Engine と同等のオープンソース バックアップとしてリリース。TechCrunch (2013 年 6 月 24 日)。2013 年 9 月 18 日に取得。
- ^ [1] 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、p. 536、ISBN 978-1449398262
- de Jonge, Adriaan (2011 年 10 月 31 日)、『Essential App Engine: Google App Engine を使用した高性能 Java アプリの構築 (第 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
- ロッシュ、カイル、ダグラス、ジェフ(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 版)、O'Reilly Media、p. 400、ISBN 978-0-596-52272-8
- セヴァランス、チャールズ(2009 年 5 月 22 日)『Google App Engine の使い方』(第 1 版)、O'Reilly Media、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 のインフラストラクチャで Web アプリケーションを実行する -スタンフォード大学でのGoogle エンジニアGuido van Rossumによる技術講演。(オンライン ビデオ アーカイブ)
- 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/エンドポイント/マテリアル デザイン
