EC2 をカンタンに説明すると,本来サーバを借りて行うサービスを立ち上げるためのプラットフォームで,利用を開始すると仮想的なマシンが立ち上がり,サーバのように使えます(仮想サーバ)
ベンチャーがサービスを始める際に EC2 を使うと,物理的にサーバを買う必要が無く,スケーラビリティに優れていると言われていますが,先行するホスティングサービス(Dedicated,VPS)であっても,サーバは買わなくても良くて,利用料金さえ増額すれば,何台でも増やせます(初期費用もほぼ無料に近いですね)
多重化されている,というメリットもありますが,ホスティングサービスであっても多重化は少しのコストを負担すれば可能ですし,そもそも安いサーバを複数台使う事だって考えられます
EC2 を 24時間使い続けると,最低でも月額$72掛かります.安いホスティングサービスが $50 以下でもあることを考えて,コストメリットも未知数です
ホスティングサービスとの比較ではなくても結構ですので,EC2 のメリットとして考えられる事をあげてみてください
安いホスティングサービスを比較対照にすると難しいように思います。
ただ申込から、設定完了までが早いようなので、すぐに使いたいという
開発者向けの用途にはいいかもしれません。
あと、安いホスティングサービスといっても名のある会社はともかくとして、
個人でやっているようなホスティングサービスよりは安全性は高いと思います。
このサービスは
おそらく、どちらかというと、ハウジングを要求するような規模をターゲットにしている
ように思います。
インフラ構築して、電源の容量を計算して、ハード設定してセキュリティを設計して、
MTBFやMTTRの算出をしたりというと考える手間をほぼ一気に省いくれるように思います。
基本的には、ハードが壊れてサーバーが止まるという事はありませんので、
時間がたてば必ず必要になってくるハードディスクの増設を考えたり、
サーバーの移設を考えてまた膨大な費用が発生したり。
というコストと労力の削減にはつながると思います。
今まで見聞きした中で、なるほど、と思ったのは「分散プログラミング/分散システムのテストベッドに適している」という話です。
負荷テストをするのに一時的に100ノード用意したい、とか、予定している構成の倍のノードを用意したらどのぐらいパフォーマンスが上がるか検証したい、というようなケースだとEC2の様なサービスの(時間あたりいくらというような)価格付けとマッチするなぁと感じました。
あるいは、個人的に分散プログラミング/分散システムに技術的な興味があって実際に実際に動かしてみたい、とか思ったらEC2の様なサービスに頼ることになると思います。
(ただし、これが正鵠を射ているのかどうかの判断はできていません。もしかしたらナンセンスな話なのかもしれません……)
副次的には、テストした環境がそのまま本番環境になる、というメリットもでてきますね。
あと、今はまだコストメリットが無いように見えるが、将来的にサービス規模が大きくなっていくと状況が変わるかもしれないという見方もできるかもしれません。
現状だけではなく将来を考える、という視点です。
もっともホスティングサービスも同様の恩恵を受けて安くなっていくでしょうから、仮定に仮定を重ねるような話になってしまいますが。
ありがとうございます
テストファームとして使うには,分単位の課金というのは,ホスティングサービスには真似できないメリットですね(ホスティングの場合,短くても1ヶ月単位です)
ウェブサービスなどを行うプラットフォームと考えると,地理的なデメリット(ネットワークのレイテンシや法律など)もあって,いまは日本の会社からは敬遠されがちですが,TV-CM を出すので,キャンペーンサイトなどで瞬間的なトラフィックを処理したい,といった需要にも合いそうですね
もう一つメリットに感じたのが,今のホスティングサービスの場合,用意された環境を使うのが前提です.IPMI などを使って,手元の CD-ROM をマウントし,OS を新たに入れられるサービスもありますが,所詮,OS の素から構築することには変わりありません
EC2 の場合,自分で作った AMI を S3 に保存しておいて,その AMI からインスタンスを起動することができます.つまり,環境を1つ作ってしまえば,同じ環境を一気に100個立ち上げる事も用意です(ホスティングでもやろうと思えば不可能ではないです)
コストに関しては,Amazon.com だろうとホスティングだろうと,原価を調達しているし,規模メリットも大差ないだろうと思うので,劇的に差異が出ることは無いだろうと思います
デメリットなんですが、
仮想マシンが突然"消滅"する場合があります。
わたくしはそういう現象に遭ったことがありました。
その点では、物理サーバの方が、(中身も含めて)消滅しないだけ良いとも考えています。
メリットでは、スケーラブルが、つまりマシンの削減と増設が"瞬時"に、
直ちにできるというところじゃないでしょうか
EC2の可能性が広がるのは、大量のサーバを低い頻度で必要とするシステム、または予測不可能なパターンでサーバの数を動的に増減させることが必要なシステムです。
ありがとうございます
物理的なサーバも消失します(経験あり)
回答でも書いた,セットアップなどを自動で行っているホスティングプロバイダだと,システムのバグかデータベースの不整合か分かりませんが,契約中のサーバを間違ってリボークし,異なる環境をセットアップしてしまう事が考えられます.物理的にはサーバが消えたわけではないのですが,契約と物理サーバを結びつける情報が無くなってしまうと,物理サーバはミッシングしてしまいます
私の経験の場合,事情を伝えて,消えたサーバを探してもらったのですが,ルーティング情報などを元に,データセンター内を,捜索チーム(そういう部署があるらしいです)に数日掛けて探してもらったのですが,契約情報自体が DB から消えてしまっていて,結局見つかりませんでした
この会社の場合,7個のデータセンター(1万5千平方m),280万を超えるサイトをホストしています.どのセンターの,どのラックの,何個目のサーバなんか,カンタンに特定できませんよね
EC2 にせよ,ホスティングにせよ,オペレーションを自動化した結果置きうる事だと思います.もちろん,人手でやってもミスはありますが,作業をやった "人" に聞けば,ある程度分かりますよね.自動化は,ログが無ければ,どんな作業をしたか分かりません
つまり単に個人で使うのであれば、そのメリットはないように見えるが、中規模以上のサービスプロバイダーや企業にとって見れば以上のメリットがあり、EC2を使用するのだと思います。
ありがとうございます
私の場合,個人,企業(ネットワーク系)のどちらの視点でも見たつもりですが,メリットを感じにくい立場でした
私が,EC2 の他に,クオリティが高くてコストの安いサービスを知っているせいかもしれません
上げていただいた 4つのメリットに関しては,ホスティングを使う場合も当てはまります
ホスティングにできなくて,EC2 ならできそうなサービスの一つが,擬似CDN の構築です.CDN を構築しようと思うと,世界中に自社で品質を保証できる回線を引き,データセンターを確保しないといけません.しかし,EC2 にはこれらが用意されています(本当の CDN である ColudFront とは違います)
EC2 には,ローカルで接続するためのネットワークも用意されており,これを使うと,EC2 で使える各データセンター間の接続はとても高速に使えます
NAT を使っている副産物とも言えるのですが,ホスティングの場合は,グローバルIPを直接ルーティングするため,ローカルのネットワークは,別途用意しなくてはいけないのが普通です
個人的にコスト、安定性などは結局各社のサービスの度合いでしかないと思います。
EC2のアドバンテージとしてはこんな感じでしょうか。
1.オンデマンドな課金。
課金、スケールの最小単位といったらいいのか、より使いたい分だけ使うことができる。
例えば、イベント時には昼のトランザクションが多いので期間中スケールを調整する
2.スピード
通常は本番環境のみ使い、必要な時だけ開発環境をコピーとして立ち上げる。他にも、類似システム環境構築、大規模バージョンアップ時の旧環境保管、削除の対応を早められる。
3.総合力。
全てのトップではないかもしれないが、コスト、インフラ面で満遍なく整っているので、さまざまな案件に長期的メインとして使える
4.ネームバリュー(笑)。
笑い事ではないのですが、システムに詳しくない方に対しての了承や良イメージが必要な場合、「あのAmazonと一緒のシステムを使ってます!」これは営業的側面で効果的だと思います。
デメリットになるかもしれませんが、SLA、個人情報保護のような守るべきラインの契約がどこまでできるのかが心配です。必要なければ関係ありませんが。
課金が時間単位である,というのは大きなアドヴァンテージかな,と思います
これまでのサーバだと,24h 運用が前提だったわけですが,世の中,24h 動かし続ける必要が無いサービスはたくさんありますよね(例えば,定時のバックアップサーバや,ビジネスアワーを対象としたウェブサービスなど)
こういう用途のために,1日のうち 8h だけ動かすとか,16h だけ動かす,なんて使い方も考えられます.地球環境のためにも,使ってないサーバに火を入れなくて良いのは,気持ちがいいものです
ネームバリューはマイナスにも働く要因なので,デメリットにもなりかねませんね
SLA に関しては,日本と考え方が違って,99.9% の uptime を SLA で保証してたとしても,それを下回らないわけではなく,下回ったら利用料金を一定額返しますよ,という考え方です.つまり,利用料金が安くなる代わりに,99.5% の uptime になることもありえます
この SLA に対する文化の違いは,日本の企業が利用する上で,留意しないといけない点です
ありがとうございます
仕組み的なことを言ってしまうと,EC2 は Amazon.com の所有する大量のハードウェアの上に,Xen が乗っていて,適宜インスタンスイメージ(AMI と呼んでます)を取ってきて起動する形で利用します.これをどう定義するかは難しいのですが,どちらかというと,VPS に近い考え方になります
既存のホスティング会社が,申し込みと瞬時にインスタンスを起動できないのは,決済関係の確認を取ったりする手間が入るのであって,高度な会社は技術的にはほぼ同じような仕組みになっています(私が使ってるサーバ(専有/dedicated)は,申し込むとすぐに使えるようになります.たぶん,OS のイメージみたいなものをストレージに持っていて,空いてるサーバを探し出し,一気にイメージを流し込む.そして IP アドレスなどの個別の設定を行う,ということを自動化してるのでしょう.日本ではまだそこまでできる会社は無いと思います)
質問文で上げた値段は,そういうレベルのサービスを提供している,超大手(ここの管理している台数だけで,日本全体のレンタルサーバの数より多い)だってあるわけです.もちろん,日本人だって使えます
ホスティングサービスを使っていれば,インフラの構築,電源容量の計算,ハードの故障対応からグレードアップまで,ホスティング会社がやってくれますから,ホスティングを使うと,EC2 同様,あまり考えなくても良いと思います(もちろん,カンタンの度合いについては,EC2 が有利ですね)
こうした高度な(かつ安い)ホスティングサービスを当たり前に使っていると,EC2 だけの大きなメリットには見えないのですが,如何でしょうか?