GitHub、Avaliability Reportを毎月公開へ
(github.blog)-
毎月最初の水曜日に、これまでの障害に関する説明、技術的な詳細、解決策などをまとめた可用性レポートを発行する予定
-
すべてを透明に共有することで、単なるエラー報告ではなく、誰もがこの経験から学べるようにするため
-
最近増えているサイト障害に対するGitHubの対応
-
5/5(2分24秒の障害)
MySQLの特定テーブルのauto-increment IDがInteger型の最大値を超えたことで発生
PKサイズが70%を超えたらアラートを送るようにし、テストフレームワークがint/bigintをチェックするようリンターを追加
- 5/22(5分9秒の障害)
定期メンテナンス中に新たに起動したMySQL Primaryサーバーがダウン。急いで元のPrimaryへトラフィックを迂回したが、6秒間停止していた際にWriteトラフィックを受けていたため、これを復旧するためにレプリカからのリストアに4時間、クラスタ再設定に1時間を要した。
復旧時間を最小化するため、failover自動化を継続的にテスト中
- 6/19(51分間の障害)
改善されたA/Bテストのために加えた変更が、動的に生成された別アプリケーションのファイルに依存関係を持っていたことで発生。デプロイ中にそのファイル生成に失敗し、レートリミットがかかった。
A/Bおよび多変量テスト設定が内部的にキャッシュされるよう変更
1件のコメント
MSに買収されて以降、めっきりエラーが増えたのではないかと疑われていましたが
(Azure が不安定なのでは?という話にもつながるので、少し気まずかったのかもしれません)
これに対して、透明性をもって可用性レポートを発行するという正攻法の対策を発表しましたね。
国内企業もこうした対応の仕方は学ぶべきだと思います。
少し別の話ですが、海外企業と国内企業の「透明性レポート」を比較してみると、質・量ともに非常に大きな差があります。
透明性レポート(Transparency Report):政府および企業の政策と措置が個人情報保護、セキュリティ、情報利用に及ぼす影響を示すデータを共有すること
Google 透明性レポート : https://transparencyreport.google.com/?hl=ko
Facebook 透明性レポート : https://transparency.facebook.com/
NAVER 透明性レポート : https://privacy.naver.com/transparency/transparency_report_statistic/…
Kakao 透明性レポート : https://privacy.kakao.com/transparency/statistic
単にデータを並べるだけで終わらせるのではなく、
レポート自体を通じて企業が考える信念を込め、しっかり伝わるように作るべきだと思います。