Monzo銀行の障害分析

イギリスのネット銀行Monzoの障害分析についてです。
Monzo Outage Post Mortem
Monzo服务中断事后分析

この会社のシステムは、百以上のマイクロフォーサーズによって構成されている。
Docker/Kubernetes/etcd/linkerd/AWSなどを使っている。

はじめに、Kubernetesのバグよりクラストの再配置処理タイムアウトが発生。
大障害前の1週間から、Kubernetesからの更新はlinkerdにとどかなくなった。

サービス止まった時に全てのlinkerdインスタンスを再起動しようとした。
ただ、なぜかkubernetesとlinkerdのバージョン互換性がないため、全部のプラットフォームが止まってしまった。

教訓
・各コンポーネントのバージョンやバグ情報の収集
・内部と外部通信中断時にリカバリー処理の整理
・アラート、ダッシュボード、ヘルスチェックの重要性