【あーきてくちゃ】

アーキテクチャ とは?

💡 システムの「骨格と設計思想」、どう部品を組み合わせるかの大局的な決め方
📌 このページのポイント
モノリス vs マイクロサービス アーキテクチャ モノリス ユーザー管理 注文処理 決済機能 在庫管理 全機能が1つのアプリに 密結合 → 変更が全体に影響 VS マイクロサービス ユーザー サービス 注文 サービス 決済 サービス 在庫 サービス 各機能が独立したサービス APIで通信 → 個別に開発・デプロイ --- API通信
モノリシックとマイクロサービスアーキテクチャの対比
ひよこ ひよこ

アーキテクチャって何?

ペンギン先生 ペンギン先生

システム全体の「骨格と設計方針」のこと。どんなコンポーネントで構成するか、どう通信させるか、どこで処理するかという大局的な決め事。建物の「設計図」のようなイメージで、後から変更するのは難しくコストが高い。

ひよこ ひよこ
ペンギン先生 ペンギン先生

モノリスは全機能が1つのアプリに入った構成(シンプルで始めやすい)。マイクロサービスは機能ごとに独立した小さなサービスに分割した構成(スケールしやすいが複雑)。どちらにも利点があって、要件とチーム規模によって選ぶ。

ひよこ ひよこ

MVCって何?

ペンギン先生 ペンギン先生

Model(データ)・View(表示)・Controller(制御)に役割を分けるコード設計パターン。RailsやSpring MVCなどのWebフレームワークが採用している。役割を分けることでコードの整理・保守性・テストのしやすさが向上する。

ひよこ ひよこ

アーキテクチャの選択を間違えるとどうなるの?

ペンギン先生 ペンギン先生

後から修正するコストが非常に高いんだ。たとえばモノリスで作ったシステムをマイクロサービスに移行するのは数年がかりの大プロジェクトになることもある。逆に小さなチームなのにマイクロサービスを採用して、運用の複雑さに押し潰されるケースもあるよ。Amazonは最初モノリスで、成長に合わせてマイクロサービス化した。でも最近はAmazon Prime Videoチームが逆にマイクロサービスからモノリスに戻してコストを90%削減した事例もあって、「銀の弾丸はない」ことを示しているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
アーキテクチャって出てきたら「システムの全体構造と設計方針、後から変えにくい大局的な決め事」と思えばOK!
📖 おまけ:英語の意味
「Architecture」 = 建築・設計
💬 建物の「建築」から転用された言葉。1960年代にIBMのFred Brooksらがコンピュータシステムの設計を「アーキテクチャ」と表現したのが始まり。「ソフトウェアアーキテクチャ」は1990年代に確立した概念
← 用語集にもどる