〜若手よ聞け、俺たちは今も戦っている〜
こんにちは、代表の片ケ瀬です。
最近の若者は「レガシー=悪」みたいな空気を醸し出してることがあります。
最近の若者は「レガシー=悪」みたいな空気を醸し出してることがあります。
- 「このコード、レガシーでやばいっすね」
- 「これ、モダンにリプレイスしたいっすね」
- 「昭和の設計ですねこれ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.sh
500行- 謎の
monitor.pl
に埋まったコメント - そして、誰にも引き継がれないまま残る爆弾
「俺しかわからない」は資産か、爆弾か?
次回もお楽しみに!
👋 最後にひとこと
Terraformも、Kubernetesも、やがてはレガシーと呼ばれる。
それでも「今を支えている」ことが、いちばん誇らしい。
コメント