"매 architecture는 매 의사결정의 기록이며, 매 변경 비용을 결정한다". Bass/Clements/Kazman의 SEI 정의 이후, 매 architecture는 매 코드 자체가 아닌 매 component / connector / constraint의 집합으로 본다. 매 2026 modern view는 매 evolutionary architecture (Ford) — 매 fitness function 으로 매 architectural property 를 매 자동 검증.
매 핵심
매 4+1 View (Kruchten)
Logical: 매 도메인 객체 / 책임 분배.
Process: 매 runtime concurrency / 매 thread / 매 process.
Development: 매 module / 매 package 구조.
Physical: 매 deployment topology.
Scenarios (+1): 매 use case driven validation.
매 Quality Attributes (ISO/IEC 25010)
Performance: latency, throughput.
Scalability: horizontal / vertical 확장.
Availability: SLA, MTBF, MTTR.
Security: CIA triad.
Modifiability: 매 변경 cost.
Testability: 매 격리 가능성.
매 응용
C4 model 으로 매 stakeholder communication.
ADR (Architecture Decision Record) 으로 매 결정 추적.
Fitness function 으로 매 architectural drift 방지.
💻 패턴
ADR template
# ADR 0042: Adopt CQRS for Order service
## Status
Accepted (2026-05-10)
## Context
Read traffic 100x higher than write. Single Postgres table contention.
## Decision
Split into command (Postgres) + query (Read replica + Redis cache).
Event sourcing via Kafka.
## Consequences
+ Read scales independently.
- Eventual consistency window ~50ms.
- Two data models to maintain.
workspace {
model {
user = person "Customer"
shop = softwareSystem "Shop" {
web = container "Web App" "React" "TypeScript"
api = container "API" "Spring Boot"
db = container "Database" "PostgreSQL 16"
}
user -> web "Browses"
web -> api "Calls" "REST/JSON"
api -> db "Reads/writes" "JDBC"
}
}