何が起きたか
2022年12月28日、Twitterは太平洋時間午後4時頃に始まり5時間以上続く広範な障害に見舞われた。数万人のユーザーが奇妙なエラーメッセージ、空白のページ、原因不明のサインアウトを報告した。多くのユーザーは返信を表示できず、ツイートに応答できず、トレンドトピックをフォローできず、一部にはサーバーが処理しきれていないことを示唆する「レート超過制限」エラーが表示された。DownDetectorとNetBlocksは英国、カナダ、ドイツ、イタリア、インドからの報告を確認し、TweetDeckも停止した。NetBlocksはこの事象が国レベルのインターネット障害とは無関係だと述べた。
直接の原因は自ら招いたものだった。マスクは、Twitterを「より速く」するはずの「大規模なバックエンドサーバーアーキテクチャの変更」を展開したとツイートした。それは、サービスが「より敏感なサーバーラックの1つを切断した後でも」稼働しているとツイートしてから10日後のことだった。また、スパムを排除する試みとして、主にアジア太平洋地域の約30の携帯通信事業者からのトラフィックをTwitterが一時的にブロックしてから数週間後のことでもあった。
この文脈によって、失敗は理解しやすいものになった。マスクは2022年10月下旬に440億ドルでTwitterを買収し、数千人の従業員を削減して経費を削減しようとし、その多くがサービスのインフラを維持していた。一方で、速度向上のために「肥大化したコード」を個人的に削除するよう推進していた。エンジニアたちはこの表現を嘲笑した。ソフトウェアアーキテクトのグレイディ・ブーチは引用ツイートでこう述べた。「アーキテクチャ。君はその言葉を使い続けている。私はそれが君が思っている意味を意味するとは思わない。」
何を犠牲にしたか
5時間の障害が英国、カナダ、ドイツ、イタリア、インドの数万人のユーザーに影響し、#TwitterDownがトレンド入りした
なぜ起きたか
この障害は数千のインフラ職の削減に続いて起きた。書き換えが、それを理解する人がより少ないネットワーク上で実施されたのだ。
これは、30事業者のブロック事案と「敏感なサーバーラック」の自慢に続く、1か月で2度目の自ら招いた事案だった。
障害の現れ方はユーザーに見えた。レート制限エラー、空白ページ、強制サインアウト。これにより、性能向上プロジェクトがトレンドのハッシュタグに変わった。
教訓
理解していないインフラは、荷重を支えている。性能のための書き換えとコスト削減は同じように現実と向き合う。特に、そのシステムを知っていた人々がいなくなったときには。
その後
Twitterは5時間以上後に問題を解決した。同社はアーキテクチャ変更に関するツイート以外に根本原因の詳細を開示せず、ユーザーへの影響の数値も明らかにしなかった。この出来事は、買収後のTwitterの不安定さに関する公的記録の一部となり、その後のサービス不安と並べて、インフラ保守能力が深く削られていた証拠として引用された。
出典をたどる
出典
- Twitter suffered outage after Elon Musk made 'significant' backend server architecture changes TechCrunch · techcrunch.com ·