和製IaaSって、実はVPSだよね?

最近、Amazon EC2 や OpenStack を使って感じたことをまとめます。

  • EC2ã‚„OpenStackの設計思想
    • 計算ノードは、計算のみに専念させる。データの永続化は提供しない
    • 永続化したいデータと、そうではないデータの選別をユーザがしなければならない
    • ユーザには、今までと異なるサーバ管理の仕組みをマスターしてもらわなければならないが、その代わりIaaSのメリット「伸縮性」を提供できるようになる
  • 和製IaaSの設計思想
    • 手軽に利用できるVPSを提供する
    • ユーザには、今までと同じやり方でサーバ管理をしてもらえるが、そのかわり「伸縮性」は提供できない

EC2は日本のIaaSとは違い、インスタンスを削除(terminate)した時点で全てのデータは失われてしまいます。ストレージに永続性が無いことをデメリットと考える人が結構いるかもしれませんが、このことはIaaSで「伸縮性」を実現するためには絶対に必要な要件だと考えられます。

まず、永続性が無いことがユーザにもたらすメリットとしては、管理者がOS管理の手間から解放されます。EC2であれば、インスタンスを起動すれば常に最新の(セキュリティパッチ等の施された)OSイメージをブートさせることができます。また、サービスホストの構築はplainなOSイメージから cloud-init の仕掛けを用いて自動構成できるので、(設計次第では)沢山のインスタンスをプログラマブルに設置できるようになります。

IaaS提供者側のメリットとしては、和製IaaS(≒VPS)に比べて運用コストを圧倒的に下げることができます。
和製IaaSの場合は、ユーザに提供しているストレージは全て永続性があるため、堅牢なファイルサーバを用意してiSCSI等を用いてマウントする必要があります。堅牢なファイルサーバを作るためには高価なアプライアンスが必要になるため、コストが上昇します。また、ネットワーク経由でストレージをマウントすることになるため、性能が低くなることも考えられます。

EC2やOpenStack等の場合は、OSイメージを計算ノードにコピーした上でCOW(Copy On Write)のストレージをローカルに作成すれば良いので、特別なファイルサーバも不要になります。

最近は日本でも Noah や さくらのクラウド など、EC2 に引けを取らない価格帯のサービスが提供されるようになりましたが、残念ながらコストの面では、和製IaaSはEC2に勝てないように思います。