2014年9月26日金曜日

テレビ放送によるサーバーダウン(AWS)防止のための対応まとめ(スタートアップ経営者編)

11月22日の「スーパーJチャンネル(テレビ朝日)」にてMyChefを取り上げていただきました。

テレビ放送によるサーバーダウン(AWS)防止のための対応

MyChefにとってテレビ放送は初体験でしたが、幸いサーバーダウンせずに済みました。

テレビでの放送が決まった後、あれこれ調べたり聞いたりして対応を進めましたが、
せっかくなので、テレビ放送のアクセス集中によるサーバーダウン(AWS)を防ぐために、MyChefでやったこと、また収集した情報をまとめます。

このまとめは、CTO・エンジニア向けではなく、非エンジニアCEO向けです。

■目次
・MyChefが初めてテレビで取り上げられる!
・「テレビ。無理」から始まったエンジニアとのやり取り
・情報収集と情報に基づく判断
・対応したこと
・放送時の様子と結果

MyChefが初めてテレビで取り上げられる!


テレビ朝日のスーパーJチャンネルに、最近人気の出張シェフサービス、ということでMyChef取り上げていただきました。
■放送の様子:http://mychefjp.blogspot.jp/2013/11/jmychef.html

このときトラフィックが急増しましたが、幸いサーバーダウンすることなく、サクサクMyChefサイトは動き、放送直後からウェブからのご注文も頂けました。

よちよち歩きのスタートアップのCEOやCTOであれば、テレビの取材や放送が決まれば嬉しいのは間違いないですが、次の瞬間頭をよぎるのは「うちのサーバー大丈夫!?」ではないでしょうか。
(私は完全にそうでした)

放送の決定から放送の当日までの間に、私が何をどうしたか、非エンジニアCEOの視点からまとめます。


「テレビ。無理」から始まったエンジニアとのやり取り


ある日電話が鳴り、取材の連絡を頂きます。

「おお、なんとテレビ!こんな早くにとは想定外!」と私は思います。
で、次の瞬間には「サーバー耐えるかな・・・」と超絶不安。

そこでエンジニアにスカイプで話しかけます。

私    「テレビに取材される方向」
エンジニア「きたこれ。無理。」
私    「テレ朝の夕方の報道番組。りーむーっすか。」
エンジニア「トラフィックさばけない。」
私    「はやー。」

普段は即レスをしないエンジニアも、このときばかりは即レス。
私が相談を持ちかける前に、無理と。。

これは、エンジニアあるあるではないでしょうか。

もちろん私は、無理ってのが無理!、と思う訳ですが、お互いに無理無理言っても仕方がないので、まずは情報収集に動きました。

※当社の場合、スタッフはみなリモートのため、スカイプでのやり取りが中心です。


情報収集と情報に基づく判断


■まずオンラインで使える情報を探す

nohanaのテレビ放送時の数字がブログに書かれていたことを思い出し、まずそれを見ました。

「テレビは効果抜群!App Storeで1位を獲得した「ノハナ」のTV放送前後のダウンロード数推移を公開」

「テレビは効果抜群!App Storeで1位を獲得した「ノハナ」のTV放送前後のダウンロード数推移を公開」

ここから、この数値を得ました。

・ピーク時のトラフィックは、最大で20万PV/日で考えよう。
・同時アクセスは、最大で600req/secで考えよう。
・問合せは、最大で1日500件で考えよう。

サービスの特性上、またテレビの番組や取り上げられ方の違いから、ここまでのアクセスはまずないと思うも、一旦はこの数字を、耐えるべき目標に設定しました。
(想定トラフィックを計算して算出しようと思うも、どちらにせよ根拠がないので、この数値をクリアすべき数値としました)

■現状のシステムの状況を把握する

エンジニアとシステム構成の確認をしようと思うも、私にはその辺りの基本的知識も、スタンダードなあるべき姿もわかりません。
要は、判断をするために寄って立つ根拠がない状態でした。

そんな私が頼ったのは、アマゾンデータサービスのこちらの資料。

WebサービスStartUp向けスケーラブルな構成例

WebサービスStartUp向けスケーラブルな構成例

この資料を元にエンジニアと話します。

この10p、18p、19p、29pを用いて、現状のシステム構成の確認、またどういった構成に変えるか、価格について、エンジニアと認識合わせします。

結論としては、当時1台構成だったものを迅速に18pの形に変更し、放送直前に19pの形にするものです。

エンジニアは、もちろんよかれと思う判断をするのですが、私もその判断と判断軸を理解する必要があるし、トレードオフになるもののプライオリティ付けは私の仕事のため、そのために必要な情報の理解に努めました。

この段階で判断できなかったのが、Webサーバがいつまで何台必要か?です。

■サーバー周り以外の対応:画像を軽くする

システム構成変更の中で、MyChefサービス上の画像を軽くする対応をしました。
月額がaws資料29pよりかなり高かったのですが、その理由がインスタンスタイプがsmallではなく、largeだったためです。
なぜlargeかエンジニアに聞くと、画像が重いからと。

もっと早くに気づいて対処しろよと思うでしょうが、、、
そのタイミングで、全画像を軽くして、基本的にsmallに変更することにします。

■補足:止まったGmail

ある日突然、メールが来なくなりました。何かが変だ。。。
エンジニアに確認すると、ロードバランサーの設定にミスがあったと。

MyChefのサーバーを増強したいだけなのに、メールが受け取れなくなる、こんなことも起こるんですね。

■経験者に聞く

準備すべきWebサーバの台数がわからず、またその段階で進めている準備だけで問題がないのか不安だったため、テレビトラフィックの経験者に聞きました。
知人に経験者がいたため、Facebookで話しかけて聞きました。

色々と具体例を教えてくれたりとする中で、非エンジニアな私にシンプルに役に立ったのが「awsの人に相談したら?」という、当たり前のこと。

忙しい中、嫌な顔せず相談に乗っていただいたTさん、ありがとうございます。

■awsの人に聞く

awsの人にFacebookでコンタクト。awsで働く知人がいたため、Facebookで話しかけて聞きました。

さっそくアドバイスしてくれ、かつスタートアップ領域を担当する方を紹介してくれ、で、せっかくなので直接アドバイスいただこうと思い、目黒に行きました。

ちなみに、その旨エンジニアに伝えると「何を相談するの?」と。。。

エンジニア的には、もう何するか決めてやるだけなのに、何を相談するの?という解釈だと思うのですが、私的には、少しでも不安要素をなくしたい、awsの方の知見(数多くの失敗 ≒ スタートアップのサーバーダウン事例)は活用したい、というところでした。

awsの方のアドバイスは、

・19pを見て、Webサーバ4台でいいと思い、4台で撃沈するケースが後を絶たない。
 
(awsの人も困っていました)


Webサーバ4台でテレビトラフィックに耐えられない

・Webサーバは、たくさんがいい。20台あれば大丈夫、と思う多分。
 large・2時間・20台でも、2000円程度。躊躇なく増やして、波が過ぎたら落とす。
 手動で減らすのが良い。
・DBは大きくする方が良い。こちらも2時間で2000円もいかない。
・ELBのプレウォーミングを依頼するとベター(ELBがボトルネックになるのを予防)。
 そのためにサポートのビジネスプランが必要。
 (これはアプリ・サービスによって異なります。)

・失敗(サーバーダウン)の主たる要因は、テレビからのトラフィックを過小評価していること。特に経験が少ないうちは、やり過ぎでは?と思えるくらいにしておく方がいい。
・トップが静的ページなら、画像をS3にとかもあり。

大した金額じゃないし、awsの方の言うとおりにしようと判断しました。

■経験者の事例をさらに見る

awsの方が「aws wbs」で検索すると、色々実例が出てくるとと教えてくれたため、さっそく「aws wbs」で検索。すると、上位に出てくるのがcerevoブログと、ランサーズのSlideshareです。

EC2とS3をうまく使い分けてワールドビジネスサテライト砲を確実に乗り切る方法

日本最大級クラウドソーシングサービス「ランサーズ」を支えるAWSノウハウ~WBS砲も耐えました~

cerevoの方で参考にしたのは、1000req/secのピークトラフィック。
ランサーズの方では、最大1000req/secと見積もった、プレウォーミングした、ということで、MyChefもWBS砲に耐えられたランサーズと同じようにやってるから、きっと大丈夫と安心。

何か判断した訳ではないですが、自分自身の不安解消につながりました。


対応したこと


nohanaの数字を参考数字に、awsの方のアドバイスのとおりにしました。

・ピーク時のトラフィックは、最大で20万PV/日で考える。
・同時アクセスは、最大で600req/secで考える。
・問合せは、最大で1日500件で考える。

・Webサーバは、large・20台。
・DBは大きくする方が良い。
・ELBのプレウォーミングを依頼。

本当は2時間だけ上記のリッチな構成にしたかったのですが、
時間の制約があったため、当日の早朝にシステム環境をアップグレード。

その作業中に、1アカウントで作成できるインスタンスの最大数があることを知り、
エンジニアが深夜3時に「ぐはあ」とつぶやきます。

結果としてDBは想定する時間に対応完了するも、Webサーバは当日の午後に20台組み込み。ちょっと焦りました。

何事も余裕をもって考えておきたいですね。


放送時の様子と結果


結論から言うと、超余裕で耐えられ、サイトはサックサクに動く状態でした。

放送は多分5分くらいで。その間はちょっとずつちょっとずつアクセスユーザーが増えました。
そしてビル爆破の速報が入ってしまい(Oh my God!)、マイシェフの放送が終わった瞬間から、ぐんぐんアクセスユーザーが増えて、2分後がピークでした。

GoogleAnalyticsのリアルタイム計測を見ていましたが、見たことがないくらいのスピードでアクセスユーザーが増えていきます。


■なぜ余裕だったか

実はそこまでアクセスがありませんでした、涙。

もちろんトラフィックは通常の10倍以上でしたし、ピーク時の同時アクセスはそれなりと思いますが、それでもnohanaの事例とは大きく違ったアクセス数でした。

サービスの違い以外だと、次の点がその主な理由かなと仮説立てています。

・報道番組であり、WBSやガイアの夜明けのようにその商品やサービスにフォーカスする番組ではない。
・pm6:50はご飯を作っている・食べている・後片付けしている時間
 (つまり手元にスマホもPCもない時間)
・「マイシェフ」と出たのは、上記の画像テロップにほんのちょっとの時間だけ

実際検索ワードを見ると「マイシェフ」はほとんどなく、「出張シェフ」「出張シェフサービス」「出張シェフ 東京」といった一般ワード、放送に登場した「竹野恵里」シェフばかりでした。

私は現時点GoogleAnalyticsのデータしか見ていませんので、もう少しアクセスログを分析して、今後の参考にしたいと思います。

■以前からやっておいて良かったこと

主たるキーワードでの自然検索での表示については、以前より意識していました。

放送当日時点のGoogle検索順位は、

「出張シェフ」1位
「出張シェフサービス」1位
「出張シェフ 東京」1位
「シェフ出張」1位
「出張シェフ フレンチ」1位
「出張シェフ イタリアン」1位

「出張シェフ」「出張シェフサービス」ワードでの流入は、数もそれなりにあり、直帰率は20%以下で平均のサイト滞在時間も4分強と、色々見て頂けたように思います。

■反省点

「出張料理人」「出張料理」「自宅にシェフ」「出張シェフ 和食」といった主たる検索ワードではまだ1位ではない(2〜5位くらい)なため、一定割合は他社サイトに行ってしまったと思われます。
早急にてこ入れして、ちゃんと1位表示を目指そうと思います。

また以前よりわかっている課題ですが、MyChefサイト構造上、新規にログインする方はそれなりにモチベーションがある方に限られます。
言い換えれば、会員がなかなか増えません。
今回テレビ放送にも関わらず、会員はあまり増えませんでした。

会員が増えない=コンタクト対象の方が増えないことは、MyChefのようなサービスではなかなか痛いことですので、ここの対処の必要性を改めて感じました。


最後に


テレビ放送のアクセス集中によるサーバーダウンを防ぐためにやったこと、またその結果は以上のとおりです。

この内容が、初めてテレビに取り上げることになり、若干焦り気味なスタートアップCEOの目に止まり、何かしら参考になれば嬉しいです。


この記事がいいと思ったら、ぜひ記事をシェア、、、ではなく、
ぜひ女性のご友人や同僚の女性、奥さんなどにMyChefのことをシェアしてください!

以下、シェア用の文章です。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
MyChef(http://mychef.jp/ )は女性向けの安価な出張シェフサービスです。
1人分は3000円から。ご自宅に出張し、食材の買い出し、調理、後片付けをシェフが行います。
イタリア帰りの料理人や料理学校の先生、都内イタリアンのシェフや料理研究家など、料理の腕はバッチリです。

■MyChefホームページ:http://mychef.jp/
■シェフ出張時の様子と料理:http://mychefjp.blogspot.jp/
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

この文章をコピペして、①メールで女性に転送、②Facebookで女性にメッセージ、③Facebookに投稿、の3つをよろしくお願いします!



MyChef(マイシェフ)は、個人向けの出張シェフサービスです。
 ■MyChefホームページ:http://mychef.jp/

シェフがお客様にかわって食材を購入し、お客様のご自宅や訪問場所で調理/ご提供し、食事の後片付けを行います。手間のかかる食事の準備/後片付けはシェフにお任せください。

マイシェフのシェフは、ヨーロッパで料理修行の経験のある料理人、料理教室の先生、現役のコック、料理研究家など、料理の腕は確かです。
1人分は3000円〜(食材費や出張費など込み)とリーズナブル。

自宅ママ会、仲のよいご家族でのご飯会、ご両親含めた食事会、自宅のお披露目などのときに、MyChefを是非一度試してみてくださいね。

MyChef(マイシェフ)ホームページhttp://mychef.jp/

★マイシェフの注文〜当日の様子・お料理がわかる動画です!★


MyChef(マイシェフ)ホームページはこちらをご覧ください。


 ■MyChefホームページ:http://mychef.jp/

0 件のコメント:

コメントを投稿