米Yahoo!がシステムダウンしない5つの理由

2011年6月28日

昨年の10月14日、米Yahoo!のトップページがダウンしたと、米Huffington Postが記事「Yahoo DOWN: Yahoo.com Outage Reported」で伝えました。米Yahoo!にとってトップページがダウンすることはきわめてまれなことで、この件が発生するまでほぼ10年にわたりトップページのダウンは起きていなかったと言われています。

その米Yahoo!はシステムダウンを防ぐためにどのような取り組みをしているのか? 米オライリーが主催したイベント「Velocity 2011」で、Yahoo!サービスエンジニアリング部門のVice President、Jake Loomisが行ったセッション「Why the Yahoo FrontPage Went Down and Why It Didn't Go Down For up to a Decade before That」の資料が公開されています。

資料を基にポイントを紹介しましょう。

Lessons from Yahoo’s Homepage: 5 Tips for High Availability

Tip #1 あらゆるものの多重化

サーバはディスポーザブル(使い捨て)で、リブートしたりオフラインになってもユーザーへの影響はほとんどないようになっている。

コロケーションも多重化している。BCP(Business Continuity Plan、事業継続計画)シナリオをつねに実践する。プロバイダと協力し、彼らの限界を理解した上で、プロバイダが落ちたことも想定した設計をする。

fig

Tip #2 リリースプロセスの実践

チェックインごとに自動ビルド、ユニットテスト、デプロイ、テストを行う継続的インテグレーション環境を構築する。ビルドを壊した人は「犯人はこいつ」帽子をかぶってもらう。

本番環境へのデプロイはダークローンチコードを含めておき、レビューと有効性を確認したうえでアクティベートする(参考 : Twitterの大規模システム運用技術、あるいはクジラの腹の中(前編)~ログの科学的な分析と、Twitterの「ダークモード」)。

fig

Tip #3 グローバルなロードバランシング

fig

Tip #4 あらゆることをモニタせよ

予算が許すかぎりあらゆるものを測定する。
System level monitoring (per host)
End-to-end functionality (per host)
Content “freshness” (per host)
Client side performance (overall)
Server side duration (per hostgroup, per colo)
Traffic levels, week over week (per hostgroup, per colo)

fig

Tip #5 障害発生時のフォールバックプランを持つ

アドサーバに障害が発生したら、CMS管理の広告やスタティック広告へ。ページ表示に障害が発生したらcronで生成しておいたスタティックページへ。

障害発生箇所はすぐに分離し、キャパシティが不足しているときは機能を制限する。

fig

サービスエンジニアリング部門の責任範囲とは。

fig

技術ですべてをまかなえるわけではない。自分がしていることに情熱を持とう。

デベロッパーは運用の敵ではなく仲間である。要件定義の段階の早い段階から運用を巻き込む。

コードをよく見て、ログをレビューし、意見を言う。運用プロセスにデベロッパーを巻き込もう。彼らは「何が起きているのか」を知りたがるはずだ。

モニタリングの結果をシェアし、意見や要望を歓迎しよう。そしてビールをおごったり仲良くすることが、長期的な関係につながる。

あわせて読みたい

運用・監視 Yahoo!




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本