AmazonとGoogleでは時間単位の課金でも意味が違うのではないか、と思う。Amazonが起動時間をベースにしているのに対し、Google AppEngineはCPU時間。

Amazon EC2が起動時間をベースに課金しているのは、リクエストを受け取り可能にするためのステートを維持するためのコストがかかるからだろう。アプリケーションを利用可能にするためには、インスタンスを起動状態にしておかなければならないので、サーバリソースを食う。必然、課金はリソースの食い度合いに比例するように、起動時間ベースにせざるを得ない。

これと違って、AppEngineはWebアプリケーション実行環境のシェアリングなので、リクエストがなければステートを維持するためのコストはほとんどかからない。アプリケーションは何万何十万あってもかまわないし、リクエストを処理するためのプロセスはそのアプリケーションの間でシェアされる。もちろん、何万何十万が同時にフルに使われることはなく、たぶんそのうちのほとんどが利用率を低いパーセントに抑えられる。

誤解を恐れずに言えば、マシンレベルやOSレベルの仮想化（XenやVMWareなど）で提供されるクラウドは、まだ十分にスケーラブルではない。だれでもいつでも使ってポイ捨て、みたいな富豪は許されない。AppEngineは、EC2のように自由度はないが、Webアプリケーション実行環境に限定する代わりに、数千数万といったアプリを使い捨てできるくらいのスケーラビリティを目指したと考えてよいと思う。

（追記）

２４時間常にリクエスト処理がやってきて、複数サーバで負荷分散してるような比較的大規模サービスの場合は、インスタンスレベルで負荷を調整できるから、たぶんCPU時間も起動時間もあまりかわらなくなるかもしれない。そういう意味で、AppEngineがコスト面で生きてくるのは小規模のロングテールアプリである、という見方もできるのかな。