Google App Engine(GAE)、Amazon Web Service(AWS)、Windows Azure、Herokuを比較

最近既存Webアプリをクラウドプラットフォームに移行する際に調査を行ったので、せっかくだから公開してみる。

この4つ以外にも色々なサービスがあるが、知名度と実績からこの4つを選んで重点的に調査した。

ただし、どのサービスもサードパーティのソフト等で実際はこの表に載っている以上に色々なことができるし、料金体系ももっと複雑なので、この表はあくまで参考程度にして、実際に使用する場合は各サービスのサイトで詳細を調べて下さい。

以下に各サービスのメリット・デメリットを簡単にまとめました。

Google App Engine

  • メリット

    • サーバ環境が全て揃っているため、環境構築の必要がない。
    • 無料枠があるため小規模であれば料金が他のサービスより安い。
  • デメリット

    • 独自の仕様が多いためロックインされてしまい、他のサービスに移行しづらい(2011年9月のように突然値上げされても逃げられない)。
    • 学習コストが高い。
    • RDBが使用できない。

Amazon Web Services

  • メリット

    • PaaSとしてJava, PHP、IaaSとしてLinuxWindows Server両方提供しているので、やろうと思えば何でもできる(VMレンタルサーバのイメージ)。
    • サービスが豊富。
    • オープンな技術を使用して開発可能。
  • デメリット

    • サービスが豊富すぎて料金体系が複雑。
    • 管理コンソールが使いにくいらしい。
    • 自由度が高い分アプリケーションの管理等を自分でしなければならない(IaaSとして使用すれば当然OSの管理も必要)。

Windows Azure

Heroku

  • メリット

    • 多くの言語が使用可能。
    • オープンな技術を使用して開発可能。
    • 料金体系がシンプルでわかりやすい。
  • デメリット

    • DBの容量が少ない場合料金がやや割高(5MBまでは無料だが、それを超えるといきなり$15になる)。

何か間違いなどがあったらお知らせ下さい。