Technology
テクノロジー
クラウドのメリット、デメリットを理解して使おう (1/2)
◆ Google App Engine の制限事項
l前回紹介した「Google App Engine」(GAE)は、無償で気軽に利用でき、かつスケールアウトにも即座に対応できるという、すばらしいクラウド環境です。
しかしながら、通常の Web アプリケーションに比べると、Google 独自の仕様によるいくつかの制限があります。
以下に Google App Engine/Java の制限事項、および回避例について、一部紹介します。
1. リソースアクセスの制限
OS レベルのコマンドやリソースにはアクセスできません。jetty(OSS の Web サーバー)の API と、Java クラスライブラリが、アプリケーション側から利用できる I/F となります。
2.クラスライブラリの制限
使用できる Java クラスライブラリが限られています。使用可能なクラスライブラリは、ホワイトリストとして明示されていますので、開発着手前に参照することをお勧めします。
3. データベースの制限
通常、データベースアクセスで使用する SQL、ストアドプロシージャ、トリガなどは使用できません。GAE のデータベースである「BigTable」へのアクセスは、JDO、JPA という OODB を使用します。SQL ライクな文法でのアクセスが可能です。
4. レスポンス時間の制限
レスポンス送信までに30秒以上を要するリクエストは使用できません。その場合は、内部エラー500が発生しますので、時間のかかる処理は、見直しが必要です。
5. ファイル出力の制限
サーバーにおけるファイル出力はできません(ただし読込は可能)。従来、ファイルアップロードでテンポラリファイルを作成しているようなケースでは、メモリから直接 JDO 経由で BLOB へ格納するような処理に変更が必要です。ただし、サイズが大きい場合は、メモリを大量に消費するため、GAE を無料で使用できる範囲を超えてしまう可能性がありますので、分割で操作するようにします。
6. スレッドの制限
スレッドは作成できません。バッチ処理の起動は可能なので、時間の掛かる処理・非同期処理は、バッチ側で実行するようにします。
7. ソケット通信の制限
ソケット通信は使用できません。他システムと連携する場合、HTTP の使用で代替できます。
以上、GAE の各種制限を見てきましたが、これらの制限を踏まえても、GAE にはそれを凌駕する魅力があります。GAE での運用を視野に置く際には、あらかじめ上記制限の回避策を検討の上、利用してください。
l前回紹介した「Google App Engine」(GAE)は、無償で気軽に利用でき、かつスケールアウトにも即座に対応できるという、すばらしいクラウド環境です。
しかしながら、通常の Web アプリケーションに比べると、Google 独自の仕様によるいくつかの制限があります。
以下に Google App Engine/Java の制限事項、および回避例について、一部紹介します。
1. リソースアクセスの制限
OS レベルのコマンドやリソースにはアクセスできません。jetty(OSS の Web サーバー)の API と、Java クラスライブラリが、アプリケーション側から利用できる I/F となります。
2.クラスライブラリの制限
使用できる Java クラスライブラリが限られています。使用可能なクラスライブラリは、ホワイトリストとして明示されていますので、開発着手前に参照することをお勧めします。
3. データベースの制限
通常、データベースアクセスで使用する SQL、ストアドプロシージャ、トリガなどは使用できません。GAE のデータベースである「BigTable」へのアクセスは、JDO、JPA という OODB を使用します。SQL ライクな文法でのアクセスが可能です。
4. レスポンス時間の制限
レスポンス送信までに30秒以上を要するリクエストは使用できません。その場合は、内部エラー500が発生しますので、時間のかかる処理は、見直しが必要です。
5. ファイル出力の制限
サーバーにおけるファイル出力はできません(ただし読込は可能)。従来、ファイルアップロードでテンポラリファイルを作成しているようなケースでは、メモリから直接 JDO 経由で BLOB へ格納するような処理に変更が必要です。ただし、サイズが大きい場合は、メモリを大量に消費するため、GAE を無料で使用できる範囲を超えてしまう可能性がありますので、分割で操作するようにします。
6. スレッドの制限
スレッドは作成できません。バッチ処理の起動は可能なので、時間の掛かる処理・非同期処理は、バッチ側で実行するようにします。
7. ソケット通信の制限
ソケット通信は使用できません。他システムと連携する場合、HTTP の使用で代替できます。
以上、GAE の各種制限を見てきましたが、これらの制限を踏まえても、GAE にはそれを凌駕する魅力があります。GAE での運用を視野に置く際には、あらかじめ上記制限の回避策を検討の上、利用してください。
New Topics
Special Ad
| ウマいもの情報てんこ盛り「えん食べ」 | |
![]() |
「えん食べ」は、エンジョイして食べる、エンターテイメントとして食べものを楽しむための、ニュース、コラム、レシピ、動画などを提供します。 てんこ盛りをエンジョイするのは こちらから |
Hot Topics
IT Job
今週のIT求人情報
Interviews / Specials
Follow japan.internet.com
ネット選挙
Popular
Access Ranking
Partner Sites












