15 明日は必ずやってくる

 2022年5月1日。
 この年のゴールデンウィークを使って、新システムの本番移行が行われる予定だ。同時に長かったこの物語も、ようやく終焉を迎えることになる。
 ここ数年間、連休はまともに取っていなかった。それは毎年トラブル対応のためというネガティブな意味だったが、今年の連休はとてもポジティブな気持ちで迎えられる。
 むしろこの限られた連休のために、これまでの過去の苦労があったのだ。土日でも連休でも深夜でも、こうなったら終わるまで徹底的にやり切ってやる。誰もが自分自身にそう言い聞かせて当日を迎えた。そして4月30日の22時。銀行の移行対策本部で行われた、開始チェックポイント会議での海鳥取締役の挨拶が始まりの合図となった。
 「皆さん、これからの移行作業宜しくお願い致します。現時点で開始前チェックポイントに問題がないことを確認しました。リハーサル通りに実施すれば移行できることは立証済みですので、粛々と作業を進めましょう。」
 移行作業は5月1日夜から4日夜までの3日間。1日から2日はデータの抽出作業に当てられた。GCSCが行う作業は3日がメインだ。移行が終わってからもしばらくは昼夜問わずの勤務が続くだろう。そのためGCSCでは24時間3交代制の勤務形態となった。
そして3日深夜0時。出番の始まりはシステムのリリース作業からだ。担当は長澤と内海、千田。
 「ではリリース作業を開始します。」
 「お願いします。」
 何度もリハーサルを行い慣れているはずだったが、張り詰めた空気の中でオペレーションを担当する長澤の手は震えが止まらなかった。
 「今終わりました。リリース後の確認をお願いします。」
 「はい、いずれも問題ありません。予定通り対象資源が全て反映されています。」
 「了解しました。ここまでの作業で一度引き継ぎましょう。」
 そうして次のシフトにバトンタッチされた。次は姫宮、真鍋、神城、王子。
 「移行全体として第一チェックポイント予定作業まで完了。インシデントは全体で20件、GCSC担当分は0件です。その他問い合わせがあり、確認中です。」
 「わかりました。お疲れ様でした。次の確認も完了したら、チャットに報告を入れますね。」
 このチームは4時から予定されている、リリース後の稼働確認を行う予定だ。
 「それではログインより行います。」
 確認担当の真鍋は、入社以来4年間をずっとこのプロジェクトで過ごしてきた。システムリリース自体はじめての経験であったが、さらにここまで大規模となると、その場にいる先輩社員もほとんど経験がないはずだ。大役を任された気持ちは、いかほどのものであっただろう。
 「ログインは成功しました。他の機能についても、一通り確認していきます。」
 そして誰もが真鍋の操作する端末を固唾をのんで見つめていた。その時間も、これまでよりも異様に長く感じられた。
 「・・・確認できる範囲では全ての確認が完了しました。問題ありません。」
 「そうですか。ご苦労様でした。」
 皆が一息ついた瞬間だった。ここまでは万事が順調だ。リハーサルでは最初の頃こそ想定外のトラブルがあったが、その後は計画通りに進み、4月のリハーサルでは会議など全てが本番さながらに開催された。3日間の中では、いくつかのチェックポイントが設けられている。開始タイミング、稼働確認の前後のタイミング、現行システムに戻すかどうかを判断するタイミング、そしてサービスを開始するタイミングだ。
 3日6時の時点でGCSC担当分では稼働確認が完了したが、大手製作所では1件だけ原因不明のエラーが出ていた。そして1回目の稼働確認後のチェックポイントで移行対策本部に状況が報告された。
 「外貨預金で、特定の人だけ残高照会を行うとエラーとなっています。現在このエラーの原因を調査中です。」
 「大手さん、状況は理解しました。顧客全体のサービスが止まる事象ではありませんので、作業は前進します。次回チェックポイントでは原因の究明状況を報告してください。」
 それ以外は、淡々とチェックポイントの確認が進められた。
 大手製作所は、さらに2時間が経過しても真の原因が分からない状況で、ひっ迫感が漂っていた。そして森下からGCSCに原因調査の協力要請が行われた。
 「GCSCさん、残高の摘要欄に特定の情報が含まれているとエラーが発生するということがわかっています。文字種のチェックは共通機能で行っていますので、その観点で調査の協力をお願いします。」
 そうして調査活動に新島も加わり、銀行・大手・GCSCが一体となった調査活動が行われた。
 「この文字種チェックは共通機能で行っているわけではないわよね。テスト環境での再現はどんな状況なの?」
 「何故か本番でしか起こらず、テスト環境では発生していません。」
 「外貨預金のシステムが何か悪さしてるってことはないの?」
 「一度確認してもらいましたが、特に問題はないそうです。」
 「そういうことなら本番もログモードにして、どこで電文が変わっているのか確認しましょう。」
 新島も調査チームを指揮し、次々に指示を飛ばしていった。そうして事象を再現させ、より詳細な事実が明らかとなった。
 「外貨預金システムまでは電文が来ているわね。」
 「そこから出ていくときに、メモ情報が1文字だけ欠落しています。これが原因でしょうか。」
 「なるほど、なぜだかメモ情報が欠落した結果、残高照会する際の登録情報と相違したためにエラーになったということね。でも外貨預金システムの設定はおかしくないんでしょう?」
 「少し前に確認したときはそう言われたのですが、もう一度確認してみます。」
 外貨預金システムは、外貨預金契約者の情報を格納しているシステムのことだ。勘定系システムの一部として稼働していた。
 だが皆で話し合っているうちに、外貨預金担当者が猛ダッシュで駆け込んできた。
 「すみません、外貨預金システムの設定不備ということがわかりました!」
 「え?でも本番環境もテスト環境も同じ設定ではなかったの?なぜ本番だけで生じるのかがわからないのだけど。」
 「それが、設定ファイルの反映が間違えていたというオチでした。テスト環境までは正しかったのですが、本番だけ違う設定になっており、余計な文字コード変換が入ったせいで、欠落してしまったようです。」
 「何よそれ!でもとにかく原因が分かって良かったわね!」
 「本当です。ありがとうございました。」
 3日11時の時点では、稼働確認完了のチェックポイント会議が開かれ、その時点で大手製作所の問題も解消目途が立っていることが報告された。
 「皆さん、ここまでお疲れ様でした。チェックポイントは無事にクリアしましたので、予定通り前進したいと思います。」
 その後も、移行作業は計画通り進み、いよいよサービスイン直前の5月4日21時を迎えた。
 「予定していた移行作業は終了しました。あと1時間で、予定通りサービスインを行いたいと思います。」
 最後の移行完了判定会議で、移行対策本部よりそのように報告された。22時まで、あと1時間。本当にここまで長い道のりであった。システム開発者からすると、システムの本番リリースは大きな達成感になるだろう。だが姫宮たちからすると、この先は全く未知な世界であり、そこに突入することが嬉しくもあり、不安にも感じていた。それまでは束の間のひと時。小休止の後でまた集合することにした。
 ・・・気が付くと周りではカウントダウンがコールされていた。
 「10、9・・3、2、1、今サービスインしました!」
 一瞬拍手が沸いたかと思った次のその瞬間、大量のエラー通知が、姫宮の端末を一気に覆いつくした。
 「これは・・いったい何が起きているんだ・・?」
 22時のサービス開始から翌日5時くらまでのことは、ほとんど覚えていない。大量のメールを抱え、本番サーバ室、移行対策本部の間を行き来し、状況を伝えるために何度も往復していたことだけが記憶にある。
 5月5日午前8時。
 朝日がまぶしい。そういえば今日は子供の日だ。そう思うと姫宮の一人息子の顔が浮かんだが、今日この日においては、お祝い気分はどこ吹く風だった。
 朝までに発生したシステム障害を分類すると、GCSC担当分では10件に絞られた。初回アクセスでは世間の関心からか、サービス開始と同時に大量のアクセスが発生し、その結果ネットワークに負荷がかかり、Webサーバから先のトランザクションでタイムアウトが発生したため、エラー通知が大量に発生していたらしい。結果的に同一内容のエラーであることが分かり、その後のエラーもある程度絞られていた。とはいえ顧客サービスは既に始まっている。発生したエラーに対する影響や、対象者を明確にし、そのうえで原因と対応を調査していく必要があった。
 5月8日。
 途中で一部のサービスを止めながらも、何とかサービスは提供し続けていた。そしてこの日は月に一度あるメンテナンス日に設定されていたことで、サービス開始後に生じた障害をまとめて改修するためのリリースが行われた。一部のエラーはこれにより発生しなくなり、その後も徐々にエラーは収束の方向へと向かっていったのだった。

 そうして時は過ぎ、6月30日。
 GCSCで残っているシステム障害は15件になっていた。初日から増加したが、いずれの障害も何人かに影響があったものの、ほとんど多くは、普通にサービスを利用できる状況となっていた。サービス開始からおよそ2ヶ月。ようやく、事態はアンダーコントロールと言える状況まで落ち着いた。本番移行期間中も本当に大変だったが、今となってはチェックポイントの都度安堵し、サービス開始を待っていた歓喜の声が懐かしい。

 移行が終わり息つく間もなくサービスが再開し、大きな波に揉まれながら迎えた翌日。何度もリハーサルを行い、準備して来たはずだったが、本番サービスを利用する多種多様な利用者がいる。あの時もう少しテスト対象のブラウザを増やしていれば、このケースもテストされていれば。障害の原因が分かる度に色々な後悔が走馬灯のように頭をよぎったが、本番というものに対して、誰もが甘く考えていたのは否めない。だが少なくとも、その経験は関わった人にしかわからない。

 この日をもって、GCSCの次期システムプロジェクトチーム「レインフォース」は、解散した。
 多くの犠牲を払いながらも迎えたこの日は、最後まで残ったメンバーだけの戦いではない。離脱者も含め、多くのエンジニアが繋いできた「プロジェクトを完遂させる」という、たった一つの目標のために行ってきた、全員で乗り越えてきた活動の記録なのだ。

 この先、この規模で、同じチームで迎えるプロジェクトがあるかどうかはわからない。だが間違いなく言えることは、全員が力を出し切り、プロジェクトを終わらせた、ということだけだ。
 6年前に東山たちが開始し、姫宮たちの即席の提案で始まったプロジェクト。銀行業界の縮図といえるかぞく銀行の経営課題に対し、ともに打開策を目指したのは間違いではなかった。本当の意味で、銀行戦略に貢献できるかどうかは、これから数年かかってわかると言えるるだろう。この先も、自らの役割と実行する意思を繋ごうとする人間がいる限り、物語は続いていくのだ。

 2022年10月1日。
 世界的なコロナの影響により一部オンラインで開催された、かぞく銀行次期システムプロジェクトの終了報告会。今は執行役員となっている赤魚より、全体に対して感謝のメッセージが伝えられた。
 「プロジェクトに関わられた皆さん、去る5月の連休では、計画通りに移行を完了して頂き、ありがとうございました。その後も大小さまざまなトラブルがありましたが、約5カ月間をかけ、ここまで安定稼働させることが出来ました。日本の新しい家族像を支える銀行として、このプロジェクトの意義は大変大きかったと思っています。そしてこの成果は特定の誰かということではなく、1つ1つ正面から問題に向き合い、少しずつ改善してきた皆さん全員の努力の結果に尽きると考えています。システムを作ることにショートカットはありません。大規模なシステムであれば、それなりの手間をかけなければ、成熟などしないということです。長い年月の中で私たちの関係も成熟しました。皆さんの成長にも少しでも貢献できたのなら、それは行員一同にとって大変喜ばしいことです。プロジェクトは終わりましたが、その実績と経験はそれぞれの皆さんの未来の家族に繋がることを期待しています。」

 あの時システム更改の提案に乗っていなければ。フレームワークなど構想していなければ。提案に失敗していたら。途中であきらめていたら。どれか一つが違っていたら、この日は絶対に迎えられなかっただろう。この6年間がどんな大変なプロジェクトだったと言っても、時代はまた移り行く。そして新しい物語が始まる。その時に「こんなプロジェクトがあったよね」と笑顔で話せる日が来れば、それだけでいい。どんなことがあっても、明日はまたやってくるし、また太陽が昇るのだ。
(おわり)


この記事が気に入ったらサポートをしてみませんか?