JIRAで有名なAtlasianの障害報告を読む

私の職場はJIRAから別のバグトラに乗り換えてたので気づかなかったが、割と大きなニュースになっていた大規模障害。Registerは、こんなニュアンスで伝えている。

We suspect that the "dedicated team" Atlassian assigned to sorting out the problem has yet to take down the bunting from World Backup Day before the incident occurred.

タイトルにもある通り大規模障害は1週間たっても解決していない。3月31日はWorld Backup Dayだが、そのときのbunting(祝い事などで飾られる三角形の旗)を外し忘れてるんじゃないかと皮肉を言われている。

In a statement emailed to The Register, a company spokesperson said the reconstruction effort could last another two weeks.

障害が発生した4/5から6日も経過した時点でanother two weeks(あと2週間必要だ)と言っている。余談だが、Registerはその後の経過については書いていない。復旧の話は記事にはなりにくいのだろうか。

というわけで当事者のブログを読んでみる。

On Tuesday, April 5th, 2022, starting at 7:38 UTC, 775 Atlassian customers lost access to their Atlassian products. The outage spanned up to 14 days for a subset of these customers, with the first set of customers being restored on April 8th and all customer sites progressively restored by April 18th.

エグゼクティブサマリーでは発生した4月5日と最初に復元した4月8日、最後に復元した4月18日の3つの日付を示している。

There was a communication gap between the team that requested the deletion and the team that ran the deletion. Instead of providing the IDs of the intended app being marked for deletion, the team provided the IDs of the entire cloud site where the apps were to be deleted.

原因については、ずばりコミュニケーション・ギャップであると断言している。では、どこにギャップがあったかというと、サービスを統合した際にレガシーとなったアプリを消す作業が必要となったが、このときにアプリケーションのIDではなくクライドサイト全体のIDを伝えてしまったらしい。

The API used to perform the deletion accepted both site and app identifiers and assumed the input was correct – this meant that if a site ID is passed, a site would be deleted; if an app ID was passed, an app would be deleted. There was no warning signal to confirm the type of deletion (site or app) being requested.

さらにまずいことに、削除に使われるAPIはアプリのIDを渡した場合でも、サイトのIDを渡した場合でも動作するようになっているのでアラートは出なかったという。

Once the incident was confirmed on April 5th at 08:17 UTC, we triggered our major incident management process and formed a cross-functional incident management team. The global incident response team worked 24/7 for the duration of the incident until all sites were restored, validated, and returned to customers. In addition, incident management leaders met every three hours to coordinate the workstreams.

復旧までは24時間で、3時間ごとにミーティングを行ったという。ここに書くかどうかわからないが、こういうことでも伝えたほうがよいぐらい顧客との関係に影響したということなのだろう。

1.Establish universal "soft deletes" across all systems.
2.Accelerate in our Disaster Recovery (DR) program to automate restoration for the multi-site, multi-product deletion events for a larger set of customers.
3.Revise incident management process for large-scale incidents.
4.Create large-scale incident communications playbook.

これに対する今後の改善点として4項目を挙げている。soft delete(論理削除)について触れている点が興味深い。詳細で、すべてのデータストアにsoft deleteを実装することと、soft deleteに対してstandardized and verified review process(標準化され検証されたレビュープロセス)を設けるとも書いている。確かに、一口に論理削除といってもフラグの立て方ひとつとっても複数のやり方が混在していそうだ。フラグではなく有効期間で制御している場合もある。

Atlassianは開発者向けのツールでビジネスをしてので、大半のユーザである開発者へ伝わる説明であることを意識したのだろう。時系列、影響範囲、原因と対策のそれぞれの書き方が参考になる日が来るかもしれない。

この記事が気に入ったらサポートをしてみませんか?