当時2000万~3000万レコードほどの認証情報のセキュア化対応を行った。
こちらのプロジェクトは2年前から実施しようと計画だけは行われていたが、実際に実施するまで持っていくのが難易度やリソース状況的に難しいという状態だった、そのためエンジニアとしてアサインされるメンバーが自分と新卒1年目のもうひとりだけだった。
案件にはリードエンジニアのような立ち位置として Join し、移行計画や設計、実装(テーブルの更新、コンバータの作成、APIにHash化アルゴリズムの追加、チェックツールの作成)、移行対応、問題があった場合のリスクヘッジ、設計、メンバー教育を実施した。
無停止、無障害を達成するために計画としてはデータの2重保持からの参照切り替えを計画したり、現行のユーザー情報に対してはコンバータをクロンとして用意し1ヶ月ほどかけて移行し、そのデータが問題ないかチェックするツールを別で走らせてコンバートが問題ないことを確認するなどした。
また、最終的に参照を切り替えをした際に障害が起こるパターンを事前に洗い出しその対応策を用意するなどサービスダウン時間を極限まで起こさないように準備をした。
最終的には無障害無停止をやりきれた。
大変だったことは、Hash化を行うAPIが乗っているのがオンプレのVMだったのだが、一部のマシーンだけHash値が違う値になる問題がチェックツールで発覚し、そのVMを外す作業を行ったことです。
開発人員
- バックエンド 2人
- ディレクター 1人