米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

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

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

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

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

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ 運用・監視 / Yahoo!



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準
アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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


最新記事10本