TECHSCORE BLOG

クラウドCRMを提供するシナジーマーケティングのエンジニアブログです。

Synergy!のシステム障害における情報共有の改善プロジェクト

川島 吉久(かわしま よしひさ)
2004年入社。
Javaプログラマから始まり、SE、プロジェクトマネージャー、テクニカルサポートを経て、現在はSynergy!のプロダクトマネージャー。


当社はメール配信やフォーム作成のできるクラウドサービスのSynergy!を提供しており、Synergy!にシステム障害が発生すると、お客様から様々なお問い合わせをいただきます。 原因は何か、いつ復旧するのか、フォームに登録はできるのか、予約しているメール配信は予定通り行われるのか、配信途中のメールはどういう状況なのか、APIはエラーになっていないか、データ連携は問題ないか、などなど。 それらに正確かつ迅速に回答すべく、障害発生中の情報共有における課題改善に取り組んでいます。

情報共有の流れ

障害発生時、当社では主に

  • エンジニア
    • 原因調査や復旧、影響調査を担当します
  • 障害対策PM(プロジェクトマネージャー)
    • 障害発生時の情報集約を担当します
  • カスタマーサポート・営業
    • お客様からのお問い合わせに回答したり、障害状況をお知らせします

の役割に分かれて、

エンジニア → 障害対策PM → カスタマーサポート・営業

の流れで調査状況、復旧の進捗などを情報共有します。 筆者は障害対策PMを担っています。

課題と改善

これまで何度か障害対策PMを担ってきましたが、対応する中でいくつかの課題が顕在化したため、改善案を検討しました。

エンジニアによる復旧作業や影響調査などの進捗状況が分かりにくい

こちらは、エンジニアと障害対策PM間のコミュニケーションの課題です。

復旧作業や影響調査が完了した際にはエンジニアが報告用チャットで障害対策PMに連絡してくれるのですが、障害が長引く場合は次の対応を準備したり、対応の優先順位を検討するために進捗状況も知りたいところです。 オフィスに出社していたころは、エンジニアの集まっているところに寄っていけば状況を把握できたのですが、在宅勤務が中心となってからはエンジニアごとに別々のチャットで相談したり調査・復旧を進めているため、「エンジニアの集まっているところ」を知ることが難しくなってしまいました。 障害対策PMとしては、だれがどのチャットで何を作業してくれているのか、調査や復旧の進捗状況が分かりにくい状態でした。

そこで、定期的に情報を共有してもらうオンライン会議を開くことにしました。これにより、「調査完了」や「復旧完了」などの完了連絡だけでなく、「今はまだ原因究明の目途がたたないが、ここが怪しいのでこれから調べるつもり」や「あと30分くらいで影響調査は終わりそう」などの途中経過を知ることができるのではないかと考えています。ただ、開催頻度を高めすぎると調査や復旧の手を止めてしまうことにもなりかねないので、どのくらいの頻度で開催するのが最適なのかはこれから試行錯誤していく予定です。

最新情報を追いかけにくい

次は営業・カスタマーサポートと障害対策PMとのコミュニケーションの課題です。

こちらもチャットを利用して情報を共有するのですが、質疑応答などの会話が進むとどうしても大事な情報が流れていってしまって、何が最新情報なのか、重要な情報を追いかけにくい状態になりがちでした。

そこで、当社で利用しているナレッジ共有ツールDocbaseを利用して、常に最新情報を更新するページを設けることにしました。また調査や復旧の進捗状況もここに記録していくことで、後から障害報告書にまとめるときにも情報が参照しやすくなります。

調査結果をまとめるのに時間がかかる

最後は障害対策PMの課題です。

エンジニアがエラーログなどから影響調査してくれた結果を、お客様からのお問い合わせを対応するカスタマーサポート・営業に共有するのですが、ログの集計結果だけではアカウントIDしか情報がないため、そこにお客様名や担当営業などの情報を追加します。その作業を障害対策PMが担っているのですが、手作業なため共有までに時間がかかっていました。

そこで、エンジニアの調査結果(抽出項目や集計軸、表示する順番など)を定型化してもらい、追加するお客様情報も自動で参照できるよう影響調査シートのフォーマットを固定しました。 まだすべての機能について定型化できていないのですが、これまでより大幅に時間短縮できる見込みですし、手作業のミスもなくなると考えています。 また、エンジニアの調査結果を定型化するため、調査コマンド自体も定型化されることで、副産物として調査の属人性を排除することもできそうです。

最後に

障害は起きないことが一番ですが、色々な要因があり完全になくすことは難しいため、発生してしまった場合はできるだけ早く復旧することを目指してエンジニアたちが頑張ってくれています。 その努力を少しでも活かせるように障害対策PMとしては、引き続き迅速・正確なコミュニケーションを目指します。