1.はじめに
冬の寒い夜、シャワーからお湯が出なくなったり、雪の降った朝、車のエンジンが掛からなかったり、列車を待っていたら運転見合わせとなり、いつ帰れるのかわからなくなったり、普段の生活の中でも障害は突然発生します。
システムも同じで、昨日まで正常に動いていたのに、突然止まる、なんだか挙動がおかしいといったシステム障害が突然発生します。
この記事ではシステム障害が発生した際の心構え、対応についてご紹介します。なお、システム障害の定義は、『システム障害対応の教科書』の「リリース後のシステムにおいて、システムの不具合やユーザ側の操作ミスで、ユーザ業務に影響が出ている」と同義といたします。
この記事の想定している対象者は、システム障害対応に初めて参加される方です。システム開発、運用保守といった直接対応する方はもちろんですが、システムが関わる場面は多岐に渡りますので、利用者、開発依頼をされる方にもシステム障害の裏側を知っていただければ幸いです。
私の略歴です。これまで総合物流企業の事務経理システム刷新のお手伝い、ネット証券でのシステム企画開発、現職フューチャー・アーキテクトでは金融のお客様の運用保守のとりまとめをしています。
2.システム障害発生
あなたが開発に関わった初めてのシステムは無事にカットオーバーを迎えました。おめでとうございます。
眉間のシワが深くなっているリーダー陣も少し冗談が言えるようになったことでしょう。
ある日、あなたが早めに出社したところ、部屋の奥にあるパトランプが鳴っていることに気づきました。
周りには誰もいません。
パトランプの存在は知ってましたが先輩がサッと止めて何かコマンドを叩いて確認し、他のメンバーと会話しているのを横目に見るぐらいでした。
このタイミングで何をするべきでしょう。
まずは、連絡です。
あなたの身近の先輩、リーダーなど連絡先を知っている人が出るまで総当たりで連絡しましょう。パトランプが鳴り響く恐怖からその場を離れたくなるかもしれませんが、勇気を持って、何かが起きていることを発信しましょう。緊張で話す内容がまとまらない時は、いったん深呼吸して、3つ数えて、心を落ち着かせましょう。焦らず、事実だけを話すことが大事です。
3.システム障害対応
システム障害の対応は初動がとても大事です。
先輩に連絡が付いたら、いつ、何に気づいたのか、誰に連絡をしたのか、話をしながらノートに書き留めましょう。近くにホワイトボードがあれば持ってきて転記しましょう。
しばらくすると、出勤途中だった先輩が到着しました。
ホワイトボードを見てもらい、受け答えをしてみましょう。この時、他の方への連絡を依頼されるかもしれませんし、簡単な調査を依頼されるかもしれません。依頼されたこともホワイトボードに書いて、やってみましょう
気がつくと、現場にはたくさんの人が集まっているはずです。手が空いていれば発言に耳を傾け、調査結果や決定事項と思われることを時刻と共に記録していきましょう。
重苦しい空気の中、パトランプの音、キーボードを叩く音、どこかへ電話する声、様々な会話が飛び交います。言葉に耳を傾けると、影響はいまも出ている? 、何時までに復旧しないとまずい? 、あの人に連絡した? 、ログを取って、エラーの出力箇所のプログラムを見て、ハードはみた? 、前にあった事例に似ていない? 、などなど情報が錯綜するでしょう。
長丁場の場合、リーダーからあなたへ食料の買い出しを求めらるかもしれません。コンビニに走っていかれると思いますが、参加人数×2個ぐらいのおにぎり、サンドイッチがいいでしょう。常温でも飲めるものも人数分買いましょう。お弁当を買ってしまうとレンジが必要になります。カップ麺はお湯が必要です。冷たかったり、温かくないとおいしく飲めないものは、すぐに食事できない人には不向きです。みなさんが交代で食事することを意識したものを用意するのがよいでしょう。長期戦かなと思ったら栄養ドリンクもあるとよいでしょう。
リーダーがお客様への定期的な報告をしているのを横で聞きながらメモを取っていると、お客様がとある操作の話をされました。
あなたが知っている画面でしたので、言われた操作をすると、普段なら正常に表示されるはずなのに、なぜかその操作ではエラーになります。その画面をリーダーに見せて、エラーの操作方法を説明しました。リーダーは、調査メンバーを呼んで、あなたに再度操作するよう求めてきます。調査メンバーはすばやくコンソールを叩きながらログを読み始めています。そして、あなたの操作で発生しているエラーから怪しい箇所が報告され、復旧に向けたプランが議論され始めました。やがて、リーダーとお客様の間で復旧手順の実施が承認され、実行に移されます。
狙い通りであれば、無事に復旧するはずです。
4.システム障害終了
システム障害が解消されたあと、何があったのか確認がされます。
その時にあなたのメモが効果を発揮します。紙やホワイトボードに手書きしているものを整理して、リーダーに共有しましょう。もしかすると、報告書の手伝いを依頼されるかもしれません。起きたことを思い出しながら事実を正確に書いてみましょう。システム障害対応中、たくさんの用語が飛び交い、初めて見る資料が大量に出てきたはずです。ツラい時間だったかもしれませんが、終わった瞬間、何かが見えた感覚を味わうかもしれません。
さて、あなたが初めて体験したシステム障害が無事、収束しました。
まずは家に帰って、39度ぐらいのぬるめのお風呂に10分ぐらいゆっくり使って、早めに寝ましょう。
5.ふりかえり
システム障害対応が終わり、翌日、振り返った時、何か気づきはなかったでしょうか。
最初にパトランプが鳴っていることを気づいたときに、誰に連絡したらいいか頭に浮かびましたか。もし、誰に連絡したらいいのかわからないときは、事前に確認をしておいた方がよいでしょう。今回は、ノートに書きながら記録を残しましたが、PCで記録を取っていたらメールに貼ったり、報告書に使いまわせたりしなかったでしょうか。ホワイトボードに発生時刻や起きていることを書きましたが、これもPCから接続可能なファイルをチームに共有できたらホワイトボードの大きさに依存せずに複数人で更新ができたでしょう。
いろんな人の会話もチャットに集合してもらってやりとりをしてもらうと、後から来た人への共有も楽になるでしょう。影響調査をするときに、事前に実施する内容を決めておけば、どこは大丈夫でどこがダメなのかある程度の影響範囲がわかるようになるでしょう。
今回の対応の記録を手順書にできれば、万が一同じことが起きた時により早く復旧できるでしょう。
6.さいごに
あなたがシステムと関わり続ける限り、システム障害は何度でも発生します。
「助けを借りたいときはいつでも言ってくれ」そんな台詞を言ってくれそうな仲間をたくさんみつけて、あなたも力を貸せるように一緒に精進しましょう。
7.参考
この記事で、システム障害対応の世界に興味を持たれたら、下記もお読みください。
Qiita
- 運用における障害対応の基本 - システム障害といかに向き合い、チームとして対処するか
- システム障害と僕達はいかにして戦えば良いのか、障害対応について考えた
- 恥かどうかはともかく、そもそも逃げられない障害対応のお話
書籍