システム設計とは、要件を満たすためにソフトウェアシステムのアーキテクチャ、コンポーネント、相互作用を定義するプロセスであり、特にスケーラビリティ、信頼性、パフォーマンスを重視します。これは、大規模に動作するシステムを構築するために、各要素がどのように組み合わさるかを扱うものです。
システム設計が扱う範囲
System design = the high-level structure of a system:
→ COMPONENTS → services, databases, caches, queues, load balancers, etc.
→ how they INTERACT → data flow, communication, APIs
→ meeting REQUIREMENTS → functional (what it does) + non-functional (scale, speed,
reliability, availability)
→ about the BIG PICTURE / architecture, not individual code
