6月9日に開催された「Google Developer Day 2009」で、夷藤勇人氏と鵜飼文敏氏により「Javaで動かすGoogle App Engine」というセッションが講演されました。本稿では、その概要をお伝えします。
はじめに
6月9日に開催された﹁Google Developer Day 2009﹂で、夷藤勇人氏と鵜飼文敏氏により﹁Javaで動かすGoogle App Engine﹂というセッションが講演されました。本稿では、その概要をお伝えします。
Google Developer Dayとは、Googleが主催する開発者向けのイベントです。例年、Google Japanのスタッフのみならず、世界中のオフィスからソフトウェアエンジニアやデベロッパーアドボケイト︵advocate‥支持者︶、API Expert︵Google認定のサードパーティエンジニア︶が駆けつけて、Googleが関わる最新のテクノロジーのセッションが行われています。
セッションでは、前半で夷藤勇人氏がGoogle App Engineの概要を説明し、後半で鵜飼文敏氏がデータストアについて説明しました。
以下、罫線で囲んだ部分は、セッション中に表示されたスライドの内容を抜粋しています。
対象読者
- ウェブサービス開発に興味のあるJavaエンジニア
- Google App Engine for Javaに興味がある方
Google App Engineの役割
Google App Engineとは
- Googleのインフラ上でWebアプリを走らせる
- 提供されるプラットフォーム(PaaS)
- ハードウェア、ネットワーク、OS
- Pythonサポート
- Pythonランタイム
- Djangoなどの3rd partyライブラリ
- Javaサポート
- その他のGoogleが提供するソフトウェア・サービス
﹁Google App Engine﹂とは、GoogleのインフラでWebアプリを実行できるクラウドサービスで、2008年4月8日に最初のPython版が発表され、翌年の2009年4月7日にJavaへの対応が発表されました。
提供されるプラットフォームは、﹁ハードウェア﹂﹁ネットワーク﹂﹁OS﹂です。Python版では、Pythonランタイム、Djangoなどのサードパーティライブラリがサポートされており、Java版では、JVM、サーブレット・コンテナ、ライブラリがサポートされています。
Java版の詳細については、筆者の連載﹁Google App Engine for Javaを使ってみよう!﹂をご参照ください。
Google App Engineの特徴
主な特徴
- 動作環境のインストール・メンテナンス一切不要
- マシン台数増やさないと...という心配不要
- Googleが負荷に応じて自動的にリソースを割り当てる
- 自動スケーリング!
- APIを通じてGoogleのサービスが使用可能
- 実際の使用量に応じて課金
- アプリケーション管理コンソールが利用可能
やはり、最大の特徴はGoogleが実際に運用しているインフラの上で動き、特に設定することなく、必要に応じて自動的にスケーリングするという点ではないでしょうか。
直接関係者に聞いた事例では、とある学校法人で例年、教科書の申し込み受付初日に必ずダウンするウェブサービスがあり、Google App Engineにサービスを移行することで、サーバをダウンさせることなく、たったの8セント︵支払いはUSドル建て︶でシステムダウンを回避することができたそうです。ちなみに、この8セントはメールの送信容量を超えたために発生した料金です。
無料で利用できる範囲は以下のようになっており︵2009年6月15日執筆時点︶、これは月間約500万アクセス相当まで、無料で使える価格設定です。
無料の範囲(1日)
リソース |
単位 |
レスポンス |
10ギガバイト |
リクエスト |
10ギガバイト |
CPU利用時間 |
46.3CPU時間 |
ストレージ |
1ギガバイト |
電子メール |
2,000通 |
単位当たりの利用料金
リソース |
単位 |
単位当たりの費用 |
レスポンス |
1ギガバイト |
$0.12 |
リクエスト |
1ギガバイト |
$0.10 |
CPU利用時間 |
1CPU時間 |
$0.10 |
ストレージ |
ギガバイト・日 |
$0.005 |
電子メール |
1通 |
$0.0001 |