Google App Engineとは? わかりやすく解説

Google App Engine

読み方グーグルアップエンジン

Google App Engineとは、開発者自作したWebアプリケーションを、Googleと同じインフラ上で動かすことができるプラットフォームのことである。

Google App Engineにおける開発言語Pythonで、プログラムコード一度記述すれば、あとはGoogle App Engineがすべてのプラットフォーム作動するように処理を行う。また、アクセス増加による突発的なトラフィックにも対処しGoogle他のサービス容易に統合できるという特徴がある。これにより、開発者によるシステム管理や、メンテナンスなどに関わる労力軽減図られるとされている。

2008年4月現在の発表段階では、Google App Engineはプレビュー版で、正式なリリース時期未定となっている。将来的には開発言語Pythonだけでなく他の言語にも対応するとされる

ちなみに、Google App EngineのようにWeb上の複数マシン駆使してWebアプリケーション提供する形態クラウドコンピューティング呼ばれる同様にクラウドコンピューティングによるサービス提供している事例としては、Amazonの「Amazon Elastic Compute CloudAmazon EC2)」や「Amazon Simple Storage ServiceAmazon S3)」などが挙げられる


参照リンク
Google App Engine - Google Code - (英語)

Google App Engine

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/07/17 13:32 UTC 版)

Google App Engine
開発元 Google
初版 2008年4月7日 (16年前) (2008-04-07)
最新版
1.9.27 / 2015年9月30日 (8年前) (2015-09-30)
プログラミング
言語
PHP, Python, Java, Go
サポート状況 開発中
種別 ウェブ開発
公式サイト cloud.google.com/appengine/
テンプレートを表示

Google App Engine (GAE) は、Googleの提供するGoogle Cloudのサービスの1つであり、ウェブアプリケーションPHPPythonJavaGoを使用して開発し、Googleのインフラストラクチャー上で実行し、バージョン管理することができる。

概要

PHP用、Python用、Java用、Go用にそれぞれソフトウェア開発キット (SDK) が用意されている。Java用のSDKはSDK単体のものと、Eclipseプラグインが同社より提供されており、Google Web Toolkitの開発と統合されている。このほか、Java用には有志によりNetBeans用とIntelliJ用のプラグインがそれぞれ作成されていて、そちらでも開発は可能である。またJavaに対応していることから、Java仮想マシン上で稼働するJythonJRubyScalaなども(自ら導入作業等を経れば)開発することができる。

GAE上で動くウェブアプリケーションはデータベースとして同社のBigTableAPIを通じてデータを格納するもので、同社のインフラのスケーラビリティを利用することができる。

他のアプリケーションホスティングとの相違

Google Compute EngineやAmazon EC2などのスケーラブルホスティングサービスと比較すると、GAEのインフラの方がよりアプリケーションを作成しやすいが、実行できるアプリケーションの種類は限定される。

GAEのインフラにより、数百万ヒットまでスケールするアプリケーションを作成するための開発・運用の問題をかなり軽減できる。Google側にてクラスタへのデプロイ、モニタリング、フェイルオーバー、そして新インスタンスの実行を必要に応じて行う。

他のサービスにおいては、ユーザーがUnix系ソフトウェアはほぼ全てインストール、設定が可能であるのに対し、GAEのデベロッパーは言語として、PythonあるいはJavaを使用し、限られたAPIを使用することを要求される。現在のAPIにより次の機能が実現できる。

  • BigTableという非リレーショナルなデータベースへのデータの格納および抽出
  • HTTPリクエストの送信
  • 電子メールの送信
  • 画像処理
  • キャッシング
  • cron
  • XMPP通信

既存のウェブアプリケーションはほとんどリレーショナルデータベースが必要なので、修正なしではGAEで実行することはできない。

日ごと、および一分ごとのクォータにより以下のリソースが制限される。

  • 帯域
  • CPU使用量
  • リクエスト数
  • 並列リクエスト数
  • APIを呼び出す回数

また、個々のリクエストは実行に30秒以上かかったり、10MB以上のデータを返す際には終了させられる。

ただし、SDKのver.1.4.0以降は、バックグラウンドのリクエストにおける 30秒制限の撤廃(10分まで中断されずに実行し続ける)、 API 呼び出しのサイズを1MBから32MB増加(URLFetchレスポンスサイズ制限、Memcacheのバッチget/put呼び出し、Image APIのrequest/response、Mail API の送信添付ファイルのサイズ制限)が行われた。

SQLとGQLの違い

GAEのデータストアはSQLのようなシンタックスを持ち、GQLと呼ばれる。GQLにおけるSelect句は単一のテーブルにのみ実行可能である。GQLは敢えてJoin句をサポートしていない。これはクエリが複数のマシンに及ぶ時に非効率であることが知られているからである[1]。その代わりにReferenceProperty()を使用することにより、1-NおよびN-Nのリレーションが作成可能である[2]。このshared-nothingのアプローチにより、ディスク障害時もシステムへの障害を防ぐことが可能である。

select句のwhere節は単一のカラムのみに対し、>, <=, <, <=操作を実行することが可能である。したがって、単純なwhere節のみが構築可能である。リレーショナルデータベースからデータストアへ移行する際に、開発者はデータ操作のパラダイムシフトを要求される。

GAEは各データストアセルから返される最大の行数を1000に制限している。結果のソーティング順序があるプロパティにより表せる場合において、この制約は人が読むために作成されたウェブアプリケーションには影響しない(単一ページに1000レコード表示することはまずないからである。なお、ページングや、キャッシングなどの機構は組み込み可能である)。アプリケーションが各オペレーションにおいて1000レコード以上必要な場合、独自のクライアントサイドソフトウェアを使用するか、Ajaxページを使用することにより無制限の行に対し操作が可能となる。この場合クエリの結果セットに対しオフセットを行うため、時間がかかるという制約を受けることになり、長い結果セットではリクエストタイムアウトが発生することがある。

DB2Microsoft SQL ServerMySQLOraclePostgreSQLとは違い、データストアAPIはリレーショナルなSQLではない。

しかしながら、従来のリレーショナルデータベースに慣れたものからすれば対極に位置するBigTableは扱いに苦労するものであり、SQLライクに扱えるようにするフレームワークが幾つか作られている。Googleもこの点については問題点として認識しており、2011年秋にMySQL互換データストアであるGoogle Cloud SQLを発表し[3]、GAEの内部データベースとして取り扱えるようにした。

競合サービス

当サービスはAmazon Web Servicesと競合する。これはアマゾンのサーバにおいてファイルホスティングや、コード実行を可能とするアプリケーションサービスの集合である。 他の競合としてはマイクロソフトAzure Services PlatformセールスフォースForce.comが挙げられる。 また、Google App Engine用に開発されたアプリケーションを実行するためのオープンソースのフレームワークとしてはAppScaleがある。

歴史

  • 2008年4月:プレビューリリース版を公開
  • 2009年2月:有料版のサービスを開始
  • 2009年4月:Javaアプリケーションに対応
  • 2011年5月:Go言語に対応

関連項目

参照

外部リンク


「Google App Engine」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Google App Engine」の関連用語

Google App Engineのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Google App Engineのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【Google App Engine】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのGoogle App Engine (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS