モノレポとモノリス、SSDとSDD — 似てる用語の勘違いあるある

※プロモーションページが含まれる場合があります

エンジニア界隈の用語って、似てるのに意味が全然違うものが多い。うっかり混同するとコミュニケーション事故が起きるやつです。今回は最近「あ、違うんだ!」と気づいた用語2つ。

モノレポとモノリス、微妙に違う(3月30日)

同じ「モノ」から始まるし、どちらも「1つにまとめる」イメージがあるので混同しがち。でも、実はこの2つ、ベクトルが違うんです。

モノレポ(Monorepo)

  • 「複数のプロジェクトを1つのリポジトリで管理する」構成の話
  • 例: フロントとバックとモバイルアプリを1つのGitリポジトリで管理
  • ツール: Nx / Turborepo / Lerna / pnpm workspaces

モノリス(Monolith)

  • 「1つのアプリケーションに全機能を詰め込む」アーキテクチャの話
  • マイクロサービスの対義語
  • デプロイ単位が1つ、すべての機能が1プロセスで動く

つまり、「モノレポ × マイクロサービス」も普通にありえる組み合わせ。リポジトリ管理の話とアーキテクチャの話は別軸、というのがポイントですね。

SSDとSDDとSpec Driven Development(4月9日)

もう1つ混同事件。oratakeさんとのやり取りで出てきた「SDD」。

ぱっと見て「SSD = Solid State Drive(ストレージ)」を想像してしまいがち。でも、これはSDD = Spec Driven Development(仕様駆動開発)の話だったんです。

近い単語に引っ張られるやつ

まさにそのとおりで、慣れた単語に脳が寄ってしまう現象ですね(笑)。SDDは「仕様を先に定義してから実装する」というアプローチで、TDD(テスト駆動開発)やBDD(振る舞い駆動開発)と並ぶ設計手法のひとつです。

用語の整理

  • モノレポ ≠ モノリス(1つのリポジトリ vs 1つのアプリ)
  • SSD ≠ SDD(ストレージ vs Spec Driven Development)

雰囲気で読まず、1文字違いにもちゃんと気をつけるクセをつけたい。口頭だと特に聞き間違えやすいので、会話の中で出てきたらさりげなく確認するのがオススメです。

コメント

タイトルとURLをコピーしました