
レガシー・サバイバル術 第3回:「レガシー=悪」って誰が言った?
ktgs
〜若手よ聞け、俺たちは今も戦っている〜
こんにちは、代表の片ケ瀬です。
最近の若者は「レガシー=悪」みたいな空気を醸し出してることがあります。
「このコード、レガシーでやばいっすね」
「これ、モダンにリプレイスしたいっすね」
「昭和の設計ですねこれw」
……あのな。
☝️ そもそもそれ、まだ動いてるんだよ?
レガシーと呼ばれてるシステム、たいてい何年もエラー出さずに、きっちり働いてます。
夜中にバッチを回し続けるPerlスクリプト
2006年から止まってないCentOSサーバ
なぜか誰も触れないSMTPサーバ
それらが、いまだにサービスを支えてるんです。
🧠 モダンは「流行」だけど、レガシーは「実績」
モダン技術 レガシー技術 React / Next.js CGI + Apache + Perl Kubernetes initスクリプト + supervisord Terraform bash + expect + vi Slack通知 mailx + cron + logger
モダンは華やか。でも、実戦で何度も“生還”したのはレガシーかもしれません。
🛡️ uptimeマウントはレガシーの勲章
「uptimeが1000日を超えたら、ビールを開けろ」
──昔、そんな言葉がありました。
今のように「毎週デプロイ&再起動」が当たり前の時代でも、
昔は「止めない」ことが正義でした。
そしてそれは、今でも通用する価値観です。
📜 「古いコード」ではなく、「読み継がれる設計」
レガシーコードにはこんな特徴があります:
シンプルだけど意味が詰まっている
コメントがなくても“思想”が透けて見える
触っちゃいけないオーラがある(ある意味完成されている)
これは呪いではなく、設計者の“仕掛け”です。
🧑🏫 若手に伝えたい:レガシーの「良さ」とは何か?
安全性:想定外に強い。地味に落ちない。
保守性:わかりづらいけど壊れにくい。
予測性:挙動が読める。突然死しない。
技術的負債があるのは否めませんが、
それは現場で鍛え抜かれた「責任ある設計」とも言えます。
🙇 レガシーを悪く言う前に、その人の「物語」を聞いてくれ
たとえば:
なぜこの構成にしたのか
どうやって障害を切り抜けてきたのか
どこが“触ると死ぬ”ポイントなのか
レガシーシステムは、「機能」ではなく「物語」なのです。
✊ 俺たちは今も戦っている
週明けのZabbixアラートで目が覚め
journalctlとにらめっこし2年放置されたRedmineチケットに追われ
それでも“止めない”を貫いている
レガシーを支える現場には、技術じゃなくて“矜持”があるんです。
📌 まとめ:「レガシー=悪」ではない。「語れる技術」だ
誤解 ほんとうの姿 古い=捨てるべき 動いてる=価値がある 早く置き換えるべき 意図を知ってから改善すべき 属人化してるから悪 その人が守ってきた証
🔮 次回予告:「“俺だけがわかる”スクリプトの闇」
次回は、インフラ現場に必ず存在する“俺ツール”の話。
backup.sh500行謎の
monitor.plに埋まったコメントそして、誰にも引き継がれないまま残る爆弾
「俺しかわからない」は資産か、爆弾か?
次回もお楽しみに!
👋 最後にひとこと
Terraformも、Kubernetesも、やがてはレガシーと呼ばれる。
それでも「今を支えている」ことが、いちばん誇らしい。
Related
