無能インフラエンジニアの日常
江戸川竜也
第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話 おわり
次回「監視アラームが夢に出てくる話」につづく(かもしれない)
無能インフラエンジニアの日常 江戸川竜也 @edogawatatsuya01
★で称える
この小説が面白かったら★をつけてください。おすすめレビューも書けます。
フォローしてこの作品の続きを読もう
ユーザー登録すれば作品や作者をフォローして、更新や新作情報を受け取れます。無能インフラエンジニアの日常の最新話を見逃さないよう今すぐカクヨムにユーザー登録しましょう。
新規ユーザー登録(無料)簡単に登録できます
この小説のタグ
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます