前回の「Azure WebSitesにWordPressを1,000サイト詰め放題可能な「仕組み」を勉強してみた話。」に引き続き、 @kazumihirose さんに全面的に技術指導していただき、クラウドサービスの本領発揮と言われるAzure WebSitesの「スケールアウト」を実際に試してみました!
WordPressを1,000サイト詰め放題にしたWebSitesでスケールアウトをやってみたらどうなるか、をまとめます。
スケールアウトって何?
「スケールアウト」とは、WebSitesのコピーを複数個作成しロードバランサを導入して負荷を分散させるイメージです。
図解してみるとこんな感じ。
1.ロードバランサは配下のサーバが増えると2分の1の確率で振り分ける。
(クライアントからのアクセスは50%づつ振り分けされ分散)
2.複数ドメイン分(1000サイトあったら、それぞれ1000サイト入っている)
ちなみに、このロードバランサは既にプラットフォームに組み込まれているので、構成を個別にする必要はないのがすごいなーと。
実際にスケールアウトしてみる
該当するWebsites > スケール で設定します。
ホスティングプランのモードに気をつけてください。(無料モードと共有モードは一部制限があるそう)
スケールアウトは「時間単位での課金」となるので注意!
ちなみに、スケールアウトにかかる時間ですが10秒程度。サクッとできちゃいました!
手動でスケールアウトする
これは「インスタンス」のところにあるスライダーを動かすだけ。
インスタンスはサーバーのことなので、2インスタンスにすれば「同性能のサーバーが2台になる」わけです。
時間でスケジュールしスケールアウトする
日時を入力します。
例えばキャンペーンサイトで「テレビCMやWeb広告の出稿を強化してる時間帯」など、アクセスが集中しそうな時間帯がわかっていれば事前に設定することができますし、定期的なスケジュールとして登録することもできます。
プロモーション向きかな?と個人的には思いました。
CPUの負荷でスケールアウトする
通常のWebサービスではあまり馴染みないですが、CPUに負荷がかかる構成で展開してる場合もこれで設定できるので安心かなと。
実際に最大値までスケールアウトしてみた
最大10インスタンスまでいけますので、今回は「10インスタンス」やってみました!!
この瞬間、メッチャ速度上がりまくってましたw
スケールは「時間単位の課金」ですが、金額的には「1インスタンス=1時間10円くらい」。
10インスタンスで100円ですかね?
価格の詳細は以下のページをご参考に。
▼価格表はこちら
http://azure.microsoft.com/ja-jp/pricing/details/websites/
スケールはクラウドならではの利点
今回は「スケールアウト」について試してみましたが「スケールアップ」ももちろんできます。
(ただスケールアップは通常のWebサービスではあまり使う機会無いかなぁと…)
通常のレンタルサーバーであれば、突発的なアクセス過多(トラフィック)があった場合は「サイト表示に時間がかかる」とか最悪「落ちた…」とか対処できないことが多かったと思います。
それを防ぐ方法としては、事前にサーバを増設しておくとか。
でもそれって「上位のサービスに変更する(継続的に)」だったりするので、事前に申し込みが必要だったりという手間もあるし一時的な負荷がくるかもしれない状態への「投資」と考えると、お金も時間もかかりすぎかなぁと。
今回のAzure WebSitesを例にすると「負荷が上がった」と思った瞬間にスケールアウトすることが出来、しかも利用料は使った分だけです。
事前に準備しておく必要も、経費を無駄にする心配も無いのがいいなーと思ったり。
最後に
ネットでよくあるのが、グノシーとかyahooニュースに掲載されて一気にアクセスが集中してサイトが落ちる…という事態。
それもWebsitesだったら必要な時間だけスケールアウトして回避することができます。
またキャンペーンサイトやECサイトなど、テレビで紹介されて一気にアクセスが増えたときでもすぐ対応できるので、機械損失的な面でもいいのかなと思います。
今回スケールアウトを体験してみましたけど、一瞬でスケールアウト→戻すができるので拍子抜けした感じでした。10秒位でできますしw(もっとやることあるのかな?と思ってた)
これまでは、専門知識を持った人がサーバーに張り付いてをゴニョゴニョしてたイメージあったんですけど、私でもスライダーをいじるだけで同じこと(サーバ増設)が一瞬でできるわけです。
ホントすごいサービスだなぁと…。
現在は自動でスケールアウトする場合は「時間」と「CPU」の設定になりますが、今後アクセス数(トラフィック)でも設定できるようになるとより助かるなぁと思います!
今回も @kazumihirose さんに技術指導していただきましたが、ものすごくわかりやすかったです。
ありがとうございました!
実際には使う頻度は低い機能とは思いますが、どういうときに使ったらよいかとか理解しておくのは大事だなぁと。
…キャンペーンサイト系のご相談、お待ちしております!w