S03-P01 異世界SLA99.99% ~元SEは今日も魔法インフラを落とさない~

第3話: このインフラ、ドキュメントなしですか?

第1アーク · 4,734文字 · revised

村の魔法陣を診断して回り始めて、三日目。
 リオンは村の北端にある灯火魔法陣の前で、頭を抱えていた。
「……設定が、めちゃくちゃだ」


水浄化魔法陣の干渉問題を直してから、村人たちの態度が変わった。「あの魔法陣も見てくれないか」と声をかけられることが増えた。問題は、診断すればするほど、この世界の魔法インフラの「やばさ」が見えてくることだった。

ルーンフェル村だけで、魔法陣は大小合わせて12基ある。
 防壁、水浄化、農地管理が3基、灯火が2基、通信が1基、倉庫の温度管理が1基。
 それぞれが魔力パスで繋がり、連携動作しているはずだった。

「はず、なんだよな……」

リオンは灯火魔法陣から手を離し、小さなノート——この世界では「記録帳」と呼ばれる冊子に書き込んだ。

【北端灯火陣:魔力入力パスが二重定義。片方は死んでる。出力先が不明瞭。負荷は正常範囲だが効率30%低下】

要するに、誰かが昔いじって、中途半端なまま放置されている。
 前世なら「設定の棚卸し」案件だ。でもこの世界には、そもそも「設定書」という概念がない。

「……ドキュメント、本当にないのか?」

リオンはため息をついた。
 前世で散々見た光景だった。引き継ぎ資料なし、変更履歴なし、「前任者に聞いてください」からの前任者退職済み。

この世界も——同じだった。


リオンは村の中心部に戻り、鍛冶屋の工房を訪ねた。
 老魔術師ゴルドがいる。村で唯一、魔法陣のメンテナンスを担当している人物だ。

「おじさん、ちょっといいかな」
「なんだ、リオンか」

ゴルドは相変わらず無愛想だったが、リオンが水浄化魔法陣を直したことは知っている。以前より多少は話を聞いてくれるようになった。

「村の魔法陣なんだけど……設定とか、記録とか、残ってないの?」
「設定?」
「ええと、魔法陣がどういう仕組みで動いてるか、とか。誰がいつ何を変えたか、とか」

ゴルドは首を傾げた。

「見ればわかるだろう」
「……は?」
「魔法陣を見れば、どう動いてるかわかる。記録なんて必要ない」

リオンの脳裏に、前世の光景がフラッシュバックした。

「ドキュメント? そんなもんなくても、コード読めばわかるでしょ」
 「設計書? 俺の頭の中にあるから大丈夫」

属人化の、典型的なパターンだった。

「じゃあ……たとえば、北端の灯火魔法陣。あれ、入力パスが二重定義されてるけど、誰がいつ変えたの?」
「ああ、あれは……10年くらい前かな。冬場に灯りが弱くなったから、パスを増やしたんだ」
「片方、死んでるよ」
「え?」

ゴルドは眉をひそめた。

「入力パスの片方、機能してない。たぶん増やしたときに接続ミスがあって、そのまま放置されてる」
「……そうなのか?」
「診断したから間違いない。で、そのときの作業記録は?」
「記録……? 別に、残してないが」

リオンは深く、深く息を吸った。

「おじさん。もし、おじさんが急に倒れたら、誰が魔法陣を直すの?」
「……さあな。俺しかできないからな」
「それ、リスクだよ」

ゴルドは不機嫌そうな顔をした。

「昔からこうやってきたんだ。問題ない」
「問題だらけだよ」

リオンの声が、少し強くなった。

「一人に依存するのが一番危ない。引き継ぎ資料がないのも危ない。変更履歴がないから、問題が起きたときに原因が追えない。これ、全部リスクだから」

「お前……」ゴルドは少し驚いた顔をした。「随分と生意気になったな」

「生意気じゃなくて、事実だよ」

リオンは譲らなかった。
 前世で、属人化がどれだけ危険か、嫌というほど知っている。
 キーマンが倒れた瞬間、システム全体が止まる。
 それがインフラの最大のリスクだった。


ゴルドとの会話はそこで終わった。
 リオンは工房を後にし、村外れの小川沿いを歩いた。

「……これ、前の会社と同じだ」

呟きが、自然に漏れた。

前世のSIer。大規模ネットワークの運用保守。
 そこでも同じだった。属人化、ドキュメント不足、「俺がいないと回らない」という自負。
 そして誰かが潰れる。

九条諒は、その「誰か」になった。

「……もう、嫌だ」

リオンは立ち止まった。
 目の前の小川が、静かに流れている。
 その水を浄化している魔法陣も、問題を抱えている。
 でも誰も気づいていない。気づいても、直し方がわからない。

このままではいつか、大規模障害が起きる。

「……だったら、自分でやるしかないな」

リオンは記録帳を開いた。
 すでに村の魔法陣12基のうち、8基を診断し終えている。
 それぞれの状態、異常、負荷、接続関係——すべて記録してある。

「構成図を、作ろう」

前世で散々書いたネットワーク構成図。
 サーバーの配置、接続関係、冗長構成の有無。
 それを図にするだけで、全体が見える。問題点が見える。

この世界にも同じものが必要だ。


その日の夜。
 リオンは自室で、大きな羊皮紙を広げていた。

村の地図を描く。
 そこに魔法陣の位置を書き込む。
 魔力パスの接続を線で繋ぐ。

防壁魔法陣を中心に、水浄化、農地管理、灯火、通信——すべてが繋がっている。
 それぞれの負荷、異常、劣化箇所を色分けして記載する。

「……やっぱり、ボロボロだな」

構成図が完成するにつれて、問題の全体像が見えてきた。

まず、冗長化がゼロ。すべてシングル構成。
 一つの魔法陣が止まれば、その機能は完全に停止する。

次に、魔力パスが複雑に絡み合っている。
 誰かが場当たり的に繋いだ結果、スパゲッティ配線になっている。

そして、負荷の偏り。
 防壁魔法陣に過剰な負荷が集中している。いつかパンクする。

「これ……本当に、よく動いてるな」

リオンは感心すら覚えた。
 前世なら「即刻リプレース案件」だ。
 でもこの世界では、誰もそれに気づいていない。

「……いや、待てよ」

リオンは構成図を見直した。
 水浄化魔法陣の接続関係。

以前、農地管理魔法陣との干渉を直した。
 それで月2、3回の停止は止まっていたはずだった。

でも、構成図全体を見ると——。

「あれ……? これ、別の経路でも繋がってる?」

リオンの視線が、一本の魔力パスに釘付けになった。

水浄化魔法陣は、農地管理魔法陣とだけ繋がっているわけじゃない。
 防壁魔法陣を経由して、通信魔法陣にも接続されている。

なぜ?

「通信に、水浄化が関係する理由がない……」

リオンは記録帳を引っ張り出した。
 通信魔法陣の診断結果を見る。

【通信魔法陣:負荷は正常。ただし入力パスが3本。うち1本の用途が不明】

——これだ。

「この『用途不明』のパスが……水浄化に繋がってる?」

リオンは立ち上がった。
 今すぐ確認したい。でも夜だ。真っ暗だ。

「……明日、診断し直そう」

でも——もし、本当にそうだとしたら。

水浄化魔法陣が止まっていた原因は、農地管理魔法陣との干渉だけじゃない。
 通信魔法陣からの逆流もある。

つまり根本的な解決になっていない。

「……ああ、もう」

リオンは頭を抱えた。

障害対応の鉄則。
 「見えている問題」だけ直しても意味がない。
 「根本原因」を潰さないと、また再発する。

前世で、何度も経験した。
 応急処置で凌いで、また止まって、また直して。そのループ。

「全体を見ないと……駄目なんだ」

リオンは構成図を見つめた。

村全体の魔法陣インフラ。
 それは一つのシステムだ。
 部分最適じゃなく、全体最適が必要だ。

「……やることが、増えたな」

リオンは遠い目をした。

定時で帰りたい——その目標は、どんどん遠ざかっていく気がした。


翌朝。
 リオンは村の広場で、大きな羊皮紙を広げていた。
 昨夜作った構成図だ。

村人たちが不思議そうに集まってくる。

「リオン、何してるんだ?」
「村の魔法陣の地図を作ってるんだ」
「地図……?」

村長が覗き込んだ。

「ほう……魔法陣の位置が書いてあるな。この線は?」
「魔力パスです。魔法陣同士が、どう繋がってるかを示してます」
「こんなもの、初めて見たぞ」

村長は感心したように頷いた。

「これがあれば、全体が見えるんです。どこに問題があるか、どこが危ないか——一目でわかる」
「なるほど……お前、本当に変わったな」

村長は笑った。

「で? これで何がわかったんだ?」
「水浄化魔法陣の件なんですけど……」

リオンは構成図の一部を指差した。

「以前、農地管理魔法陣との干渉を直しました。でも、実はもう一つ問題があります。通信魔法陣からも、余計な接続が伸びてる」
「通信……? なぜ水浄化と?」
「わかりません。たぶん、昔誰かが間違えて繋いだんだと思います。で、それが残ってる」

村長は顔をしかめた。

「それは……まずいのか?」
「まずいです。通信魔法陣が高負荷になったとき、逆流が起きる可能性がある。そうすると水浄化が止まる」

「……じゃあ、直せるのか?」
「診断し直して、確認してから——直します」

リオンは頷いた。

村長は安堵の表情を浮かべた。

「助かるよ、リオン。お前がいてくれて」

その言葉が、リオンの胸に重く響いた。

「お前がいてくれて」

前世で、何度言われたかわからない台詞だった。
 そしてそれが重圧になった。

「……僕がいなくても、直せるようにしたいんです」

リオンは静かに言った。

「え?」
「この構成図を見れば、誰でも問題箇所がわかる。手順書を作れば、誰でもメンテナンスできる。そうすれば——僕がいなくても、村の魔法陣は守れます」

村長は、少し驚いた顔をした。

「……お前、優しいんだな」
「優しくないです」リオンは首を振った。「僕は——大事なものの優先順位を間違える人間だから」

「何?」
「だから……一人で抱え込まないように、してるだけです」

村長は意味がわからないという顔をしたが、それ以上は聞かなかった。


その日の午後。
 リオンは通信魔法陣の前に膝をついていた。

診断(ダイアグノーシス)】を発動する。
 魔法陣の内部構造が、立体的に展開される。

入力パスが3本。
 そのうち1本が——確かに、水浄化魔法陣に繋がっている。

「……やっぱりか」

リオンは記録帳に書き込んだ。

【通信魔法陣入力パス3番:用途不明→水浄化魔法陣への誤接続と判明。切り離し必要】

原因が、わかった。
 あとは、直すだけだ。

「でも……」

リオンは構成図を見直した。

この接続を切ったとき、他に影響が出ないか?
 水浄化魔法陣は、それで本当に安定するのか?
 そもそも、なぜこの接続が作られたのか?

わからないことだらけだ。
 ドキュメントがないから、過去の経緯が追えない。

「……これが、属人化の怖さなんだよな」

リオンはため息をついた。

前世で、散々経験した。
 「なぜこの設定があるのか、誰もわからない」
 「前任者が作ったけど、理由は不明」
 「とりあえず動いてるから、触らないでおこう」

そして触らざるを得なくなったとき、障害が起きる。

「……慎重に、やろう」

リオンは立ち上がった。

まず、影響範囲を確認する。
 次に、切り離しの手順を考える。
 そして、検証する。

一つずつ、確実に。

前世の経験が、ここで活きる。


夕暮れ。
 リオンは自室で、構成図を見つめていた。

村の魔法陣インフラ。
 その全体像が、ここにある。

問題だらけだ。
 属人化している。
 ドキュメントがない。

でも——わかれば、直せる。

「……長い戦いになりそうだな」

リオンは苦笑した。

定時で帰りたい。
 穏やかに暮らしたい。
 そのためにまず、インフラを立て直す。

矛盾してるようで、矛盾していない。
 インフラが安定すれば、緊急対応は減る。
 体制が整えば、自分がいなくても回る。

それが本当の「定時で帰れる世界」だ。

「よし……やるか」

リオンは構成図を丁寧に畳んだ。

明日、通信魔法陣の誤接続を切り離す。
 そして水浄化魔法陣の、本当の安定稼働を実現する。

一歩ずつ。
 確実に。

元SEの戦いは、まだ、始まったばかりだった。


【あとがき】
「ドキュメントがない」。IT現場の悪夢をファンタジーに持ち込みました。属人化と構成図の大切さは、世界が変わっても同じです。

文字数: 4,734