こんにちは、小俣です。
サービス障害が起きないに越したことはありませんが、長くサービスを運用していると、外部・内部問わず様々な要因で障害が発生してしまうこともあります。
そこで、弊社では、CallConnectに障害が発生した場合に備えて、定期的に障害訓練を実施しています。
今回は、先日実施した障害訓練の様子についてまとめます。
障害訓練の概要
今回の訓練の目的は、以下のとおりです。
障害対応フロー/ドキュメントの実用性を確認する
障害発生時に誰でも障害報告できる状態を作ること
障害発生時の対応手順は、以前から社内ドキュメントとしてまとめられており、メンバー全員に事前に共有されていました。
しかし、対応スピードが求められる中で、実際に漏れなく実施できるかはやってみないとわかりません。
また、特定のメンバーしか障害報告を作成できないとなると、いざそのメンバーがいない時に動きが遅くなるため、メンバー一人ひとりが手順をしっかりと把握しておくことが重要です。
大まかな流れ
- サーバーの障害でCallConnectを利用できない状況が発生
- Slackに障害通知が届く
- 担当者は障害内容を踏まえて障害報告の文章を作成する
- 障害報告をWeb上に公開する&一斉メールを送る(テスト環境)
実施日程は2日に分けました。
1日目はCSメンバー1名、2日目はエンジニアメンバー1名が障害報告までを担当し、私がチェック役として実施中のメンバーフォローを担当しました。
当日の様子
両日とも、私が障害発生の通知をSlackに投稿し、訓練開始となりました。
障害発生を受けて、実施担当者はすぐに以下のような対応を始めました。
障害報告文を作成、Webページ公開用のお知らせ下書きをテスト環境で準備
Slack上で@hereをつけて社内に共有、文言調整
SendGridで一斉メールの配信準備、社内メンバー向けにテストメール送信
結果として、両日とも30分かからずに、障害報告のお知らせ公開と一斉メールの送信が完了しました。
実施してみて
訓練実施中や実施後の振り返りでは、以下のような気づきがありました。
急いでいると、ドキュメントの一部を読み飛ばしてしまうことがあるため、フォントサイズを変更したり、改行したりして、ドキュメントの見やすさ・認知のしやすさを追求する必要がある
使用頻度の低いツールだと操作に迷うことがあるため、定期的に触る機会を作って慣れておくことが大切
お知らせ文章の細かい言い回しを気にするがあまりに時間がかかる場合もあるため、障害対応における優先事項を明確にしておく必要がある
障害対応フロー/ドキュメントの改善点もいくつか見つけることができましたし、根本的な実用性を確認する良い機会にもなりました。
また、今回の訓練の目的でもあった「誰でも障害報告できる状態を作ること」もできたのではないかと考えています。
おわりに
そもそもサービス障害が起きないように努めることは大前提ですが、夜間帯や土日に障害が発生してしまうケースも考えられるため、今後も様々なシチュエーションやリスクを想定して、定期的に訓練を実施していく予定です。
また、障害発生時は、まずは「判明している状況を素早く伝えること」が大切だと考えているため、よりスピーディにお知らせできるように社内で共通認識を持って訓練を続けていきます。
事前準備や訓練を怠らずに、いざという時でも安心・安全なサービス運営ができるように取り組んでまいります。