T1
Google App Engine ── コードだけ預ければ Google が動かす

メタデータ
- 日付
- 年代
- 2000s
- Tier
- T1
- 参照年表
- クラウドコンピューティングの歴史
- 出典数
- 07
- 関連項目
- 03
Google App Engine は 2008年4月7日の夜、Google の開発者向けイベント Campfire One で プレビュー版 として公開された。開発者が Web アプリケーションをアップロードすると、Google が自社のインフラでそれを動かす ── スケールさせ、データを保管し、アクセスをさばく ── サービスで、開発者はサーバを1台も借りず、管理もしない。プレビューに参加できたのは先着 1万人 の開発者で、決められた枠の中なら無料、対応言語は Python だけだった。Java の追加は2009年4月、プレビューを卒業して Google の正式な製品になったのは 2011年11月 である。
今日の言葉でいえば PaaS(Platform as a Service)にあたる。利用者はコードを持ち込み、その下のすべてを事業者が引き受ける。
何が発表されたか
その夜、Google の App Engine ブログはプロダクトマネージャー Paul McDonald の記事で始まった。記事は「tonight's Campfire One」でプレビュー版を公開したと書き、App Engine を Google のインフラで Web アプリケーションを動かすための開発者向けツールだと説明している。Google の開発者ブログも、イベント終了後に同じ知らせを載せた。
プレビューの条件は次のとおりである。
| 項目 | プレビュー版(2008年4月) |
|---|---|
| 参加 | 先着1万人の開発者 |
| ストレージ | 500MB |
| CPU | 1日2億メガサイクル |
| 転送量 | 1日 10GB |
| 目安の規模 | Google の見積もりで月およそ500万ページビュー |
| 料金 | 枠内は無料。Google はこの無料枠を今後も維持するとした |
| 言語 | Python のみ |
Google の Bigtable と GFS を土台にした永続ストレージ、自動スケーリング、ユーザー認証とメール送信のための Google の API、アップロード前に手元でアプリケーションを動かせる SDK が含まれていた。
なぜ Python だったのか
3週間後に公開された Google Developer Podcast の回は App Engine チームを迎え、最初の言語として Python が選ばれたことを記録している。出演者には技術リーダーの Kevin Gibbs と、当時すでに Google で働いていた Python の作者 Guido van Rossum がいた。van Rossum は、ランタイムは Python 言語そのものだが一部のライブラリは入っておらず、その主な理由はセキュリティだと説明した。App Engine は多数の利用者のコードを隣り合わせで動かすので、それぞれを囲い込む必要があった。
その囲いが、App Engine の性格を決めた取引だった。アプリケーションのデータはリレーショナルデータベースではなく、スキーマを持たないデータストアに置く。ポッドキャストでは Gibbs が、その違いが実際にどう効いてくるかを説明している。その代わりにスケーリングは Google が引き受けた。
S3・EC2 と App Engine
App Engine は Amazon の最初のインフラサービスから2年後に現れ、ほとんど逆の取引を差し出した。
| Amazon S3 / EC2(2006年) | Google App Engine(2008年) | |
|---|---|---|
| 借りるもの | GB 単位のストレージと時間単位の仮想マシン | アプリケーションを動かす場所 |
| 利用者が管理するもの | OS とその上のすべて | 自分のコードだけ |
| スケーリング | インスタンスを自分で増やす | 自動 |
| 言語 | その機械で動くものなら何でも | 当初は Python のみ |
| 公開時の料金 | 最初の 1GB・1時間から従量課金 | 枠内は無料 |
S3 と EC2 は部品を渡し、組み立ては利用者に任せた。App Engine は部品を取り上げ、規則付きの完成した基盤を渡した。どちらの型も生き残り、利用者に技術スタックのどこまでを見せるかという問いは、以後のあらゆるクラウドサービスに付いて回ることになる。
Java の追加、そしてプレビューの卒業
公開からちょうど1年後の2009年4月7日、Google は2つ目の言語を発表した。「Seriously this time, the new language on App Engine: Java™」と題された記事は、Java が公開以来もっとも早く、もっとも多く寄せられた要望だったと書いている。Java 対応は先着1万人の開発者への先行公開で、定期実行(cron)、企業のファイアウォール内にあるデータへのアクセス、データストアへの一括取り込みも同時に加わった。
App Engine はその後も3年半プレビューのままだった。2011年11月7日、リリース 1.6.0 とともに App Engine チームは、プレビューを卒業して Google が完全にサポートする製品になったと書いた。同じ記事は次のことを伝えている。
- High Replication Datastore を使う有料アプリケーションに 99.95% の SLA を導入
- 月 1,000億 を超えるヒット、30万 を超えるアクティブなアプリケーション、10万 を超える開発者 ── Google 自身の数字
- 課金の基準を CPU 使用量から インスタンス時間 に変更。コメント欄では多くの開発者がこれに疑問を呈した
| 日付 | 出来事 |
|---|---|
| 2008年4月7日 | Campfire One でプレビュー公開。Python のみ、先着1万人 |
| 2009年4月7日 | Java を先行公開 |
| 2011年11月7日 | 1.6.0 でプレビュー卒業。99.95% SLA、新料金 |
その後
2014年6月、Google が Kubernetes を発表したのと同じ Eric Brewer の記事は、App Engine の開発者が Managed VMs 上で Docker イメージをビルドしてデプロイできる拡張も告げていた。当初のサンドボックスでは足りないアプリケーションのための出口である。同じ2014年の AWS Lambda は、手放しで任せるという型をさらに進め、単位を関数1つにまで小さくした。
会社としては Google に、前後の流れは クラウドコンピューティングの年表 にある。
よくある質問
- Google App Engine はいつ公開されたのですか。
- 2008年4月7日の夜、開発者向けイベント Campfire One でプレビュー版として公開されました。参加できたのは先着1万人の開発者です。プレビューを卒業して正式製品になったのは2011年11月7日です。
- 公開当初の App Engine はどの言語に対応していましたか。
- Python だけです。Google のポッドキャストは Python が最初の言語に選ばれたことを記録しており、Python の作者 Guido van Rossum もチームの一員として出演しています。Java は2009年4月7日に先着1万人への先行公開として加わりました。
- App Engine の無料枠はどれくらいでしたか。
- プレビューではストレージ500MB、CPU 1日2億メガサイクル、転送量1日10GB で、Google はこれを月およそ500万ページビュー分と見積もっていました。
- App Engine と AWS の EC2 はどう違ったのですか。
- EC2 は仮想マシンを時間単位で貸し、OS から上は利用者が管理しました。App Engine は利用者にコードだけを書かせ、スケーリングとデータの保管を Google が引き受けました。その代わり言語は当初 Python に限られ、データはスキーマを持たないデータストアに置く必要がありました。
出典
一次資料Introducing Google App Engine + our new blog — Paul McDonald, Google App Engine Blog, April 7, 2008
Campfire One での公開、先着1万人、無料枠の内容、Bigtable と GFS、自動スケーリング
一次資料Google Developer Podcast Episode 15: Google App Engine — Google Developers Blog, April 30, 2008
Python が最初の言語に選ばれたこと、Guido van Rossum と Kevin Gibbs の出演
一次資料App Engine 1.6.0 Out of Preview Release — Google App Engine Blog, November 7, 2011
プレビュー卒業、99.95% SLA、利用規模、インスタンス時間課金
最終更新: