みなさん、こんにちは!フリューでモバイルサイト開発を行っている鷲見といいます。

とある案件が最終段階に差し掛かった2011年3月下旬、上司から

「次の案件はソーシャルアプリです。開発完了までは1ヶ月。アクセス規模はかなり大きめです。はい、君はインフラ担当です。頑張って」(意訳)

という非情な宣告を告げられました。

「俺この案件が終わったらゆっくりと小説を読むんだ」

なんて言ってたのは単なる死亡フラグでしかありませんでした。

といいつつもこの短期間で物理サーバを見積り・調達して揃えるのはなかなか難しいので、フリューではまだ導入していなかった、クラウド環境の構築に乗り出してみることにしました。

というわけで、これから『クラウド1ヶ月導入記』と題して記事を掲載していこうと思います。

ちなみに2011年4月11日現在このプロジェクトは進行中です!

では、まずどのクラウド環境を導入するのか、上司を説得させるための材料を出すために各種クラウドを比較してみたいと思います。

要件

まずは今回必要な条件は以下の通りです。

必須要件

  • 1ヶ月で開発を行えること(あまり新しい知識を勉強する時間がない)
  • Javaで開発できること
  • 今まで開発を行って来た案件でのフレームワークなどを流用できること
  • 結構大規模なアクセスをさばけること
  • スケールアウト・スケールインできること
  • サービスを落とさない構成が組めること

希望要件

  • 自動でスケールアウト・スケールインしてくれれば嬉しい
  • 価格が安ければ嬉しい

クラウド比較

クラウドと一概にいっても、IaaS,PaaS,SaaSといろいろあります。

  • IaaS (Infrastructure as a Service)
    • サーバやネットワークなどのIT基盤(Infrastructure)を、必要な時に必要な分だけ提供する
    • サービスの基板上にプラットフォーム、ソフトウェアを構築する
  • PaaS (Platform as a Service)
    • ソフトウェアを稼動させるためのミドルウェアなどのプラットフォームを、必要な時に必要な分だけ提供する
    • 基盤は特に意識する必要がなく、サービスのプラットフォーム上にソフトウェアを構築する
  • SaaS (Software as a Service)
    • ソフトウェアを必要な時に必要な分だけネット経由のサービスとして提供する

今回は特定のソフトウェアを使うのではなく、作成したアプリケーションを公開したいので、IaaSかPaaSとなります。

PaaSの検討

PaaSの代表的なサービスとしてはGoogle App EngineやForce.com、Windows Azure,herokuなどが挙げられます。

それでは上記要件と比較し、導入可否を検討してみます。

  • heroku
    • Rubyしか使えないので今回は該当しません。
  • Windows Azure
    • VisualStudioや.netframeworkに関する知識があまり無いので今回は見送ります。
  • Force.com
    • Force.com Codeに関する知識がほとんど無いので今回は見送ります。
  • Google App Engine
    • Javaで開発は出来ますが、既存フレームワークが使えないため今回は見送ります。

と、とりあえずPaaSの候補は全滅してしまいました。というわけでPaaSは諦め、IaaSという選択になります。

IaaSの検討

IaaSの代表的なサービスとしてはAmazon Web Services,ニフティクラウド、さくらVPSなどが挙げられます。
VPSはクラウドとは言いがたいのかもしれませんが、容易にインフラを準備できる環境ということで今回は比較対象としています。
この3つのサービスは必須要件をすべて満たしうるので、スペックやサービスについて比較します。

項目 Amazon Web Services ニフティクラウド さくらVPS
CPU 1ECU – 33.5ECU ※1 1vCPU – 4vCPU 仮想2core – 仮想4core
メモリ 613MB – 68.4GB 512MB – 16GB 512MB – 8GB
ディスク 160GB – 1690G
(増設EBSでTBオーダーで増設可)
30GB
(増設100GB – 1TB)
20GB – 240GB
IPアドレス 自動・固定 自動・固定 固定
DNS逆引き ×
ロードバランス ×(自前で導入する必要あり)
監視 ×(自前で導入する必要あり)
オートスケール ◯(制限あり) ×
有償サポート ×
日本語サポート
24時間サポート ◯(有償) ◯(有償) ×
その他 サービスが豊富 障害切り分け・復旧対応などもあり 値段が安い

※1 ECU=2007年製1.0~1.2GHzのAMD Opteron,Intel Xeon相当

とIaaSでもいろいろ差があることがわかります。

今回はサービスの幅が広く、スペックの選択幅も大きなAmazon Web Servicesが優勢です。

で同じことが出来るのであれば次に大事なのはお金ということで、次回はこの3つのIaaSでクラウド環境を構築した場合の金額の見積りについて記載していきたいと思います。