クラウドのすごさ
会社の上司がクラウドに興味を持ちはじめているため、
何度かセミナーに出席したり、実運用しているところにヒアリングに行ったりしてました。
そこで話だけ聞いていると、本当に「IT業界の革命」となりえそうな気がしてきました。
クラウドコンピューティングの種類
ひとえにクラウドといっても、実はいくつか種類が存在するようです。
- SaaS
- アプリケーションを使うユーザがインターネット経由でサービスを使う事が出来る。ASPの発展型と言われる場合も。
- PaaS
- SaaS+プラットフォーム一式や開発環境までも提供する。
- IaaS
- インフラ一式をサービスとして使う事が出来る。
セミナーのお話ではSaaSやPaaSはメリット/デメリットがはっきりしていて、
そこまで流行らないのではないか、との事でした。
やばいのはIaaS!
Amazon EC2/Amazon S3/Google App Engine
IaaSに含まれるもので代表的なのはAmazon EC2とGoogle App Engineですかね。
元々は自社で使っていたインフラ環境を公開したものが
Amazon EC2やGoogle App Engineになっていると言われています。
現在のクラウドでダントツに流行っているのはAmazon EC2かと思われます*1。
Google App EngineはWebアプリケーションに特化したインフラでしか使えず、
言語もPython+Javaだけです。
それに引き換えAmazon EC2は「仮想サーバそのもの」をそのまま提供しています。
作成したサーバにはsshでリモートログインできますし、
root権限も持っていますので好きなアプリケーションを好きなだけ追加することができます。
ちなみに Amazon S3 は正確には仮想サーバではなく、ストレージ専門です。
ただしEC2⇔S3間の転送は無料のため
EC2を使う場合には切っても切れない関係になりそうです。
Amazon EC2を遠目から見た感想
実は僕自身はEC2を直接触っているわけではなく、
別のエンジニアさんが構築しているのを見ているだけですので
以下の記述に間違いもあるかもしれません…ご了承下さい。
まず、インスタンスと呼ばれる単位を作成します。
そこにサーバをポコポコ追加していくことが可能です。*2
サーバのテンプレとしては「スモール」と「ラージ」があるようです(多分、もっと細かい選択もできると思います)。
違いは性能と価格。Webサーバであればスモール、DBサーバであればラージという感じでしょうか。
OSもLinuxからWindowsサーバまで好きに選べます。
いくつかテンプレートがあるようで、WebサーバとDBサーバの組み合わせで選ぶことが可能です。
もちろんこれはテンプレートなので、後ほどrootログインして
あらためてアプリケーションをインストールすることも可能でしょう。
DBサーバも驚くべきことに、SQLServerやOracleをバンドルしたものもあるようです。
ネットワークについては、IPアドレスをいくつも追加することができるみたいです。
取得したIPアドレスとインスタンスを好きなように紐付けることができるため、
いままで使っていたIPアドレスを捨ててすぐさま新しいIPアドレスを追加する、といった事も可能です。*3
Amazon EC2の費用
初期費用が0円ということに驚き!
完全な従量課金で、インスタンスを上げているだけで課金されます。
こちらで調査した結果、スモールサーバを上げっぱなしと仮定すると月に7000円くらいになりそうとの事。
また転送量でも課金されるようです。
ただしGB単位でも月に数百円(?)らしいので、そこまで気にしなくてもよいかもしれません。
あと、有料のライセンスを持つものをインスタンスに加えた場合*4、
従量課金の価格に数%加算されるようです。どの程度増えるかはわかりません。
Amazon EC2の使い方
まず、好きにサーバを追加できるため、
普段は3台で運用しているアプリを負荷が上がって来たところで10台に増やす、
といった事が簡単にできます。
また大規模バッチ処理を行う際、瞬間的に100台増やして分散処理させたら一瞬で処理が終わった、
という例もあったらしいです。
従量課金のため、例えば業務アプリケーションとして使っているサーバは
9〜17時の間だけ稼働させて、夜間は休ませるという事をすると
費用を抑えることも可能です。
Amazon EC2の問題点
セキュリティは…多分大丈夫じゃないかと言われてます。
他には「インスタンスが忽然と消えてしまう」といった噂もあるようです。
まあこれはバックアップしておけば問題ないのでそこまでクリティカルではないですね。
現状、一番の問題点としては「サーバがアメリカにしかない」ということでしょう。
実際に動作を確認したところ、たしかにWebアプリなどで画像が多い場合に結構待たされます。
ただし、この場合であればEC2で提供されているキャッシュサーバを使えば全然問題ないです*5。
しかし、どうしてもバックエンドに通信する場合もあるため
やはりこの点はかなりネック…
近いうちにアジアにサーバを持ってくるというお話もありますので、
それを待ちましょう。
Amazon EC2の今後
上記でも書きましたが、話だけ聞いていると
「近いうちに必ず流行りそうだな」という感想を持たざるを得ないです。*6
うちみたいな小さい会社で新しいサービスを立ち上げる場合、一番のネックはインフラでした。
サーバ追加するのにシステム会社に用意してもらってハウジングに設置して管理までしてもらって
数十万〜数百万は見積もりする必要がありました。
しかしEC2を利用することによって簡単にインフラを構築し、
サービスとして提供できてしまうのです。
サーバも簡単に追加できるため、半端ないスケーラビリティです。
すごすぎ。
みなさんも一度触ってみて、
EC2のすごさを実感してみて下さい。