無能インフラエンジニアの日常

江戸川竜也

第1話「本番と検証を間違えるな、という話」

俺の名前は山田修一、28歳。インフラエンジニア3年目。

自分で言うのもなんだが、真面目さには自信がある。遅刻はしない。挨拶は欠かさない。ドキュメントはちゃんと読む。読んだ上で間違える。

「読む」と「理解する」は別の行為だと、最近になって気づいた。遅すぎる気づきだった。もっと早く気づいていれば、俺の人事評価は今と違っていたかもしれない。まあ、気づいたところで直せるかは別問題なのだが。

今日もまた、先輩の佐藤さんに呼び出された。

「山田」

「はい」

「お前、なんで本番サーバーにテストデータ入れた?」

「えっ」

俺はモニターを見た。そこには確かに、本番環境のデータベースに見覚えのある名前が並んでいた。

「テスト太郎」「テスト花子」「ああああ」「名無しの権兵衛」「斉藤、金返せ」

最後のは、経理の斉藤さんに貸した3000円がまだ返ってこないことへの怒りを込めて打った。テストデータを作るとき、人は正気を失う。これは業界の常識である。たぶん。

「いや、検証環境に入れたつもりだったんですけど……」

「つもりじゃねえんだよ。現実を見ろ。テスト太郎がお前の現実だ」

佐藤さんはため息をついた。このため息を、俺は週に3回は聞いている。火曜と木曜と金曜だ。月曜は佐藤さんの気力が残っているので耐えられるらしく、水曜は週の真ん中で佐藤さんも疲れて諦めが入る。金曜のため息が一番深い。一週間分の「山田への疲労」が凝縮されている。


弁解させてほしい。

本番環境と検証環境の見た目は、ほぼ同じなのだ。

どちらも同じツールを使う。同じ画面が出る。同じコマンドを打つ。違うのは、片方はミスしても「あはは、やっちゃった」で済むが、もう片方はミスすると全社員のスマホに緊急アラートが飛ぶという点だけだ。天国と地獄が同じ顔をしている。これを設計した人間は、たぶん人の心がない。

「だから背景色で区別できるようにしてあるだろ」

「あの、それなんですけど」

「なに」

「俺のモニター、ちょっと古くて発色が悪いというか……」

「言い訳は書面で提出しろ」

「はい」

書面にすると余計に言い訳っぽくなるのだが、俺にはその道しか残されていなかった。


ここで少し、俺たちインフラエンジニアの仕事について説明させてほしい。

世の中の人は「インフラエンジニア」と聞いても、たぶんピンとこない。「インフラ」と聞くと、道路とか橋とか水道とかを思い浮かべるのが普通だ。社会基盤というやつだ。毎日使ってるのに、普段は存在を意識しない。壊れたときだけ「なんで使えないんだ」と怒る。そういうものだ。

俺たちがやってるのも、まあ似たようなものである。

みんなが毎日使ってるアプリ。SNS。ネットショッピング。動画サイト。ソシャゲ。推しの配信。

それらが動くためには、「サーバー」という機械が必要になる。

簡単に言うと、すごいパソコンだ。普通のパソコンより高くて、デカくて、電気を食う。そしてうるさい。ファンが常に「ブォォォォ」と回っている。データセンターに入ると会話ができない。怒鳴らないと聞こえない。

このサーバーを用意して、設定して、動かして、見守って、壊れたら直す。壊れそうなときに気づいて、壊れる前に手を打つ。それがインフラエンジニアの仕事だ。

うまくいって当たり前。うまくいってる間は誰も俺たちの存在に気づかない。

失敗したときだけ注目される。「なんで動かないんだ」「いつ直るんだ」「推しの配信が見れないんだけど」「金返せ」。そういう声がSNSに溢れる。

報われない仕事だと思うだろう。

実際、報われない。

でも俺はこの仕事が好きだ。みんなが当たり前のようにスマホでアプリを開いて、当たり前のように動く。その「当たり前」を俺たちが作っている。誰にも気づかれないまま、世界を支えている。かっこいいじゃないか。

——という話を合コンでしたら、「へー、で、年収は?」と言われた。世知辛い。

「山田、聞いてんのか」

「あ、はい。聞いてます」

「じゃあ復唱してみろ」

「えーと……テスト太郎を……抹消」

「物騒な言い方するな。普通に消せ」

「はい」


その日の午後。俺は慎重に作業を進めていた。

まず、今自分がどの環境にいるのかを確認する。画面の上部に「本番環境」と表示されている。赤い文字だ。たぶん赤い。じっと見る。赤い気がする。隣の席の田中さんに聞こうかと思ったが、田中さんは今日リモートワークだ。

「よし……」

俺は削除コマンドを打った。

「DELETE FROM users WHERE name = 'ああああ';」

確認する。スペルミスはない。WHERE句もある。「ああああ」という名前のユーザーだけを消すコマンドだ。完璧だ。俺にしては完璧すぎるくらいだ。

深呼吸をして、Enterキーを押した。

「削除件数:48,293件」

…………は?

俺は画面を二度見した。三度見した。四度見しようとして、やめた。現実は変わらない。

48,293件。

4万8千人のユーザーが、消えた。

なんで?

俺はコマンドの履歴を見た。

「DELETE FROM users WHERE name = 'ああああ'」

末尾にセミコロンがない。つまり、このコマンドは実行されていない。

じゃあ何が実行されたのか。一つ前の履歴を見る。

「DELETE FROM users;」

WHEREがない。

つまり「全員消せ」というコマンドを、俺は本番環境で実行していた。

なんで?

思い出した。さっきコマンドを打っている途中で、佐藤さんに「コーヒー買ってこい」と言われたのだ。俺は素直にコンビニに行った。アイスコーヒーのMサイズ、ミルクなし砂糖なし。佐藤さんの好みは覚えている。仕事は覚えられないのに。

戻ってきて、コマンドを打ち終わってると思い込んで、Enterを押した。

コーヒーを買いに行ったせいで、4万人が消えた。

因果関係がおかしい。でも事実だ。

スマホが鳴る。佐藤さんだ。

俺は覚悟を決めて出た。

「山田ァ!!」

「すいません」

「すいませんじゃねえ!お前が買ってきたコーヒー飲んでる間に、俺のスマホにアラート50件来たぞ!」

「コーヒー、お口に合いましたか」

「話を逸らすな!」

ごもっともである。


結論から言うと、なんとかなった。

なんとかなった、というのは、俺と佐藤さんが顧客に2時間謝罪して、その間に別のエンジニアがバックアップからデータを復旧してくれたという意味だ。

「毎日バックアップを取れ」

これは古より伝わるインフラエンジニアの教えである。偉大なる先人たちが、血と涙と始末書で築き上げた知恵だ。鉄則だ。宗教と言ってもいい。

このバックアップという仕組みを考えた人間にノーベル平和賞をあげたい。俺の平和は確実に守られた。

とはいえ、約2時間、サービスの一部機能が使えなくなった。これを「障害」と呼ぶ。障害を起こすと、報告書を書かなければならない。なぜ起きたのか、どう対応したのか、今後どう防ぐのか。それを偉い人たちに説明する義務がある。

「山田」

「はい」

「障害報告書、今日中な」

「はい」

「あと反省文」

「何文字ですか」

「お前の消したユーザーの数と同じでいいよ」

48,293文字。原稿用紙約120枚。卒論より長い。


夜11時、俺は一人でオフィスに残っていた。

「私、山田修一は、本番環境と検証環境を区別する能力に欠けており……」

パソコンのキーボードを打つ手が止まる。

向いてないのかな、この仕事。

ふと、そう思った。3年やってきて、成長している実感がない。毎週何かをやらかして、毎週佐藤さんに怒られて、毎週反省文を書いている。

でも、やめたいとは思わなかった。

窓の外を見る。深夜のオフィス街には、まだ明かりがついているビルがたくさんある。みんな働いている。その中に、インフラエンジニアが何人いるだろう。今この瞬間も、誰かのアプリを動かし続けている人間がいる。

俺もその一人だ。ポンコツだけど、一人だ。

「よし」

俺は背筋を伸ばして、キーボードに向き合った。

反省文、48,293文字。やってやろうじゃないか。

——翌朝、提出した反省文を読んだ佐藤さんが言った。

「お前、なんで途中から小説になってるんだ」

「すいません、眠くて……」

「『そして主人公は気づいた。本当のサーバーは、心の中にあったのだと』ってなんだよ」

「我ながら意味がわかりません」

「書いたやつが意味わかってなくてどうすんだよ!書き直し!」

こうして俺の一日は終わった。

明日もまた、本番と検証を間違えないように頑張ろうと思う。

頑張っても間違える気がするけど、頑張ることに意味があるのだ。

たぶん。


第1話 おわり


次回「監視アラームが夢に出てくる話」につづく(かもしれない)

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

無能インフラエンジニアの日常 江戸川竜也 @edogawatatsuya01

★で称える

この小説が面白かったら★をつけてください。おすすめレビューも書けます。

フォローしてこの作品の続きを読もう

この小説のおすすめレビューを見る

この小説のタグ