・はじめに
最近とても暑くなってきましたので涼しくなるために個人的にとても怖かったやらかし話を一つ。先日、本番サーバーをダウンさせてしまったので自戒のために振り返ろうと思います。
・発端
これは先日、自分が担当になったプロジェクトでの話です。ある日、上司から新しいプロジェクトの立ち上げについて連絡がありました。
その際に開発リソースの配分を考慮して、バックエンドの実装は私が担当することになりました。
技術的な面や設計など不慣れなことも多く不安はありましたが、同時に遅延せずに必ずスケジュール通りにリリースしてみせるという気概をもってプロジェクトを進めていきました。
スケジュールが少々タイトだったことや想定していない不具合が見つかり、修正を必死に終わらせたりと想定外の作業が発生した際には辛かったですね…
周囲の多大な協力もあり、なんとかリリース当日までこぎつけ本番確認も問題なく完了し、これで一安心かと思った矢先に事件が起こりました。
本番サーバーがダウンしました。
・なぜ障害が発生してしまったのか
直接的な原因はタイトルにもあるスロークエリです。しかし、他にも原因はあると考え、1つは技術的に未熟であることもう1つは気持ちに余裕がなかったことだと思います。
普段なら気を配れていたこともリリースが迫っていたこと、想定外の不具合が見つかったことでそちらの対応に精一杯になっていました。
この焦りから生まれた余裕の無さが今回の事故を引き起こした1番の原因だと考えています。
・今後、障害を起こさないためには
いくつか原因があるのでそれぞれに対してあげると自分自身のマネジメントも踏まえて、気持ちの余裕をいかなる状況でも持てるようにすることが1つあるかなと考えています。前述した通り焦って作業しても良い結果には結びつかないのでここは課題として改善していければと思います。
技術的なところは日々、向上させるしかありませんが、今回のような事故は検証をしっかり行っていれば未然に防げていたはずですので、自分自身で事故が起こりにくい環境整備、負荷検証などのフローを整備し実施、改善していくことが大事かと考えます。
おわりに
代償は非常に大きかったですが今回の件があったことで見直すべき点を認識できたことはせめてもの救いだったかと考えています。今後はこのような事故を起こさないよう今回の事故の教訓を活かして、エンジニアとして少しでも成長できるよう努めます。
最後に私の起こした事故の対応に奔走してくださった皆様には本当に感謝しかありません。
改めて本当にありがとうございました。