Hatena::Diary

なぷさく このページをアンテナに追加 RSSフィード

2008-10-30

ヨドバシカメラのもうひとつの失敗

参照:ヨドバシドットコムのリニューアル失敗から学ぶべきたったひとつのこと

大規模なサイトとなるとフル機能のシステムを事前にテストするのは難しい。確かに、スクリプトキディ御用達のDoSツールと化したabとか、微妙に重いJMeterとかをちょろっと回せばそれなりの単体テストはできるし、東陽テクニカに頭下げてavalanche借りてくれば、猛り狂った軍馬のごときパワーを誇る QuadCoreXeonサーバ数十台を完膚なきまでに沈黙させ、泣きべそをかいてお漏らししてリブートしちゃうような負荷テストもわりと簡単にできる。

でもいくらテストをしても洗い出せず、実際にサービスインして初めてわかる問題もある。例えば、特定条件でパフォーマンスが低下するといった場合の切り分けは非常に難しい。バグだろ?って問い詰めても仕様です、って返ってきたり。GCのタイミングがどうのとかセマフォが何たらとかいわれても知るかと。*1

またバランサのチューニングも一筋縄ではいかない。アホな例では、性能低下したサーバをシステムから自動的に切り離す機能があると聞いて、喜んで使ってみたら将棋倒しでサーバが全滅したりとか。ねーよwwwとか思うだろうけど、あるんだ。実際。

で、彼らはテストによほどの自信があったのか、あるいはただ忘れていたのか知らないけど、もうひとつの失敗を犯していた。

切り戻しプランの欠落という失敗

テストは十分やったつもりだ。でも全てが洗い出せるとは限らない。万が一ということもある。そういった場合はどうすればいいのだろうか?

そう。「切り戻し」である。関係者にとっては「障害」の次に発したくない/聞きたくない言葉の一つだろう。自分の今までの仕事が全て否定され、これまでプレゼンテーションで散々こき下ろしてきた欠陥だらけのはずの元のシステムでの続行を余儀なくされる屈辱的な悪魔の言葉、それが「切り戻し」だ。

「できれば切り戻しを行わずに済ませたい」「新システムを動かしたままで少しチューニングすれば直るのではないか」そう考えるのは誰しも当然である。なまじっか今のシステムがまがりなりにも動いているようであればその思いはなおさらだ。

しかし、その判断の迷いの間に失われるものが、表面に見えるその場限りの機会損失だけだと思ったら大間違いだ。

「goo」に学ぶ

賢明な読者は検索エンジン「goo」を覚えているだろうか。1990年台の終わり、もちろんgoogleなどは名前すら存在せず、yahooは人力登録のディレクトリ型でエントリ不足が目立ち、ロボット型といえば海外のaltavistaがせいぜいで、日本ではアカデミーベースの千里眼などがほそぼそとやってた時代である。そこに日本初の商用ロボット型検索エンジンとして登場したgooは、そのインデックスの豊富さ、検索の高速性、巡回の早さで人気を得、またたく間に当時の日本の検索市場におけるトップグループの地位を確立したのだった。

しかしその栄光も長くは続かなかった。あるときgooは一斉にシステムの切り替えを行った。それは一説にはApacheからIISへの移行と噂されているが真実はわからない。ともかくそのシステム変更の影響でgooはそれまでに起こしたこともなかった大規模なサービス中断に陥った。

何度検索ボタンを押しても表示されるのは"500 Internal Server Error"の無常なメッセージ。10回に1回ぐらいはかろうじて結果が表示されるという状態。1週間経っても問題は改善されない。2週間、3週間と経過した。それでも一向に問題は改善しない。

ユーザのストレスはたまる一方だった。なにせどれだけgooが腐っていてもほかに選択肢はないのだから。ユーザはこのふがいないgooに頼らなければならない受身の立場の自分を呪い、そして頼りにならないgooを悪罵した。「代替手段さえあればお前なんか見限ってやるのに」と。

一向に障害が改善せず、ユーザのストレスも頂点に達したであろう頃に登場したのが今をときめくgoogleだった。シンプルなページデザイン、快適なレスポンス、gooを上回る豊富なインデックス、PageRankによる適切なページの重み付け。そのどれをとっても満身創痍のgooには全く勝ち目のない代物だった。度重なるgooの障害に辟易していたユーザはこぞってgoogleに乗り換え、そしてせいせいしながらgooを振り返って唾を吐きかけ、こういった。「ざまあみろ、お前なんか二度と使うか」と。

gooが失ったものは「障害期間中にあったはずのアクセス数」という単純なものではなかった。彼らは障害を放置したことで、繰り返し利用してくれるはずのリピーター自体を丸ごと失ってしまったのだ。

代替のあるショッピングサイト

gooの場合は当時事実上オンリーワンのロボット型検索エンジンだったため、多少の障害でもユーザが失われる可能性は低かった。もちろんgoogleの登場により最終的にはユーザは失われたわけだが、ヨドバシカメラの場合は障害発生イコールすなわち他のショッピングサイトへの乗り換えにつながる。

現状は重さのあまりに価格を比較することすらろくにできないわけで、ヨドバシは最初から購入検討の比較の土俵にすら上らない。「ヨドバシが安いみたいだけど、今つながりにくいから待つわ」とはならないのだ。これではサイトが最初から存在しないのと同じである。

果たしてこれからyodobashi.comは立ち直ることができるのだろうか。

*1:今回のヨドバシの件はCMSが腐ってるっぽいのでそいつの単体試験不足も否めないけど。でもカタログスペックで性能満たしているかとか、実績でどこに入れているかぐらいは事前に調べるよね?

トラックバック - http://d.hatena.ne.jp/napsucks/20081030/1225302389
おとなり日記