이 글의 목적
소프트웨어 아키텍처 본편 25편을 마쳤다. 이 글은 시리즈 전체를 압축·연결하고 다음에 어디로 갈지 짚는 에필로그다.
- 25편 동안 본 개념을 한 장 지도로 다시 본다
- 아키텍처에서 뻗어 나가는 주제와 블로그 내 다른 시리즈를 연결한다
- 아키텍처 지식이 어떤 직업·역할과 맞닿는지 정리한다
- 손으로 확인하는 방법과 읽을거리를 남긴다
1. 25편이 만든 큰 그림
아키텍처는 한 패턴 이름이 아니라 트레이드오프를 기록하고 운영하는 일이다.

| Part | 핵심 질문 | 기억할 키워드 |
|---|---|---|
| 0~1 기초 | 무엇이 아키텍처이고 누가 무엇을 걱정하나 | concern, 품질 속성, 트레이드오프 |
| 2 스타일 | 구조를 어떻게 나누나 | 레이어드, 헥사고날, MSA, EDA |
| 3 원칙 | 모듈·도메인을 어떻게 묶나 | SOLID, 결합·응집, Bounded Context |
| 4 분산 | 여러 노드에서 무엇이 깨지나 | CAP, 일관성, saga, circuit breaker |
| 5 데이터 | 진실을 어디에 두고 어떻게 전파하나 | polyglot, cache-aside, outbox, CDC |
| 6~7 운영 | 결정·조직·레거시를 어떻게 굴리나 | C4, ADR, ATAM, team topology, strangler |
한 줄로 묶으면:
이해관계자 concern과 품질 속성으로 목표를 정하고
스타일·원칙으로 경계를 나누고
분산·데이터 트레이드오프를 설계하고
문서·ADR·평가·팀·마이그레이션으로 운영한다
2. 실무에서 다시 만나는 지점
교과서 개념은 리뷰·장애·측정으로 확인할 때 살아난다.
| 아키텍처 개념 | 실무에서 보는 곳 | 도구·산출물 |
|---|---|---|
| 품질 속성 | SLA·에러버짓 논쟁 | 품질 시나리오, SLO |
| MSA 분해 | 배포·장애 blast radius | 서비스 맵, 독립 CI/CD |
| API·이벤트 계약 | breaking change | OpenAPI, schema registry |
| CAP·일관성 | 결제·재고 불일치 | read model lag, reconciliation |
| 내고장성 | 연쇄 타임아웃 | timeout, retry, breaker |
| 캐시 | stale·thundering herd | Redis hit ratio, TTL |
| outbox·CDC | 이벤트 누락·중복 | lag, DLQ, offset |
| C4·ADR | “왜 이렇게?” 질문 | docs/adr/, Container 다이어그램 |
| 팀 토폴로지 | 핸드오프·대기열 | stream team ownership |
| strangler | 레거시 컷오버 | feature flag, traffic ramp |
- "MSA로 가자" 한 마디 뒤에 조직·데이터·관측·마이그레이션이 동시에 걸려 있다 — 시리즈가 준 체크리스트로 빠진 축을 찾는 게 첫 단계
- K8s·Kafka·Gateway는 아키텍처 결정의 구현체 — 플랫폼 시리즈와 같이 봐야 한다
3. 이후 확장되는 개념
본 시리즈는 설계 의사결정의 공통 언어까지다. 같은 뿌리에서 가지가 갈라진다.

| 확장 영역 | 아키텍처에서 온 질문 | 더 깊이 가면 |
|---|---|---|
| 플랫폼·SRE | 배포 단위·격리 | K8s, GitOps, capacity, chaos |
| 데이터·DB | 서비스별 저장·복제 | schema migration, MVCC, sharding |
| 관측성 | 품질 속성 측정 | RED/USE, tracing, SLO burn rate |
| 보안 | 경계·신뢰 | threat model, zero trust, supply chain |
| 엔터프라이즈 | 통합·거버넌스 | ESB vs API, data mesh, EA |
| 프로토콜·API | 동기·비동기 선택 | gRPC, GraphQL, contract test |
| AI·데이터 플랫폼 | 파이프라인·지연 | feature store, RAG, inference SLO |
| 조직 설계 | Conway·ownership | platform engineering, FinOps |
블로그 내 이어읽기 (권장 순)
- 플랫폼 · DevOps · Cloud — 배포·K8s·CI/CD (MSA·strangler 실행)
- 데이터베이스 따라잡기 — 스키마·복제·CDC 심화
- 관측성 기초 — SLO·트레이스 (품질 속성 실측)
- 애플리케이션 보안 — AuthN/Z·TLS (경계·신뢰)
- 운영체제 따라잡기 — 프로세스·I/O·격리 (런타임 기반)
- 네트워크 기초 — HTTP·TCP·지연 (분산 통신 기반)
4. 관심 있게 지켜볼 직업·직업군
아키텍처는 시니어 이상 전 역할의 공통 언어다. 역할마다 깊이가 다르다.

| 역할 | 하는 일 | 아키텍처 시리즈와의 연결 |
|---|---|---|
| 백엔드 엔지니어 | API·도메인 구현 | 레이어드·헥사고날, 결합·응집, API 계약 |
| 시니어·스태프 | 경계·트레이드오프 주도 | ADR, 품질 시나리오, 스타일 선택 |
| 소프트웨어 아키텍트 | 구조·표준·평가 | C4, ATAM, context map, 기술 부채 |
| SRE / 플랫폼 | 가용성·배포·런타임 | MSA 격리, breaker, platform team |
| 데이터 아키텍트 | 저장·파이프라인 | polyglot, CDC, eventual consistency |
| 테크 리드 | 팀·코드·배포 정렬 | Conway, stream-aligned, PR+ADR |
| 솔루션 아키텍트 | 고객·통합·제안 | concern 분리, 레거시 strangler |
| 프로덕트 엔지니어 | 가치·속도 균형 | 품질 속성 우선순위, 점진 분해 |
지켜볼 만한 방향 (2020s~)
- Platform engineering — 내부 개발자 포털·golden path를 제품으로
- Team Topologies — stream·platform·enabling이 조직 설계 표준으로 확산
- Architecture as Code — C4·ADR·계약을 repo·CI에 고정
- AI system design — RAG·agent·GPU 워크로드의 새 품질 속성
- FinOps + architecture — 분해·멀티리전의 비용을 설계 단계에서
직업을 고를 때 한 분야만 파지 말고, 위 표에서 인접 칸을 같이 보는 게 유리하다. 아키텍트는 플랫폼·DB·보안을, 백엔드는 ADR·관측을, SRE는 API·데이터 일관성을 어느 정도 알면 시너지가 난다.
5. 앞으로의 학습 루틴
개념만으로는 부족하다. 짧은 루프를 권한다.
| 주기 | 활동 | 예 |
|---|---|---|
| 매주 | 한 변경을 품질 속성으로 분해 | “캐시 추가” → 가용성? 일관성? |
| 매월 | ADR·다이어그램 하나 유지 | C4 Container 갱신, supersede 체인 |
| 분기 | 작은 실험 | strangler 라우트, outbox lag 측정 |
| 연 1회 | 교재·평가 프레임 복습 | Richards 한 Part, ATAM 워크숍 |
추가 읽을거리
| 수준 | 자료 |
|---|---|
| 입문·복습 | Fundamentals of Software Architecture (본 시리즈 기준) |
| 품질·평가 | Software Architecture in Practice 4/E — Bass et al. |
| 분산·데이터 | Designing Data-Intensive Applications — Kleppmann |
| 레거시·seam | Working Effectively with Legacy Code — Feathers |
| 조직 | Team Topologies — Skelton & Pais |
| 실무 기록 | adr.github.io, C4 model 사이트 |
6. 시리즈 색인 (25편 요약)
필요할 때 해당 편으로 바로 점프한다.
| # | 제목 | 거기서 답하는 질문 |
|---|---|---|
| 1 | 오리엔테이션 | 아키텍처란, 시리즈 지도 |
| 2~4 | 기초 | 구조 vs 디자인, concern, 품질 속성 |
| 5~9 | 스타일 | 레이어드·헥사고날·MSA·EDA·선택 |
| 10~12 | 원칙 | SOLID, 결합·응집, DDD |
| 13~16 | 분산 | 스케일, CAP, 통신, 복원력 |
| 17~19 | 데이터 | 저장소, 캐시, outbox·CDC |
| 20~22 | 문서·평가 | C4, ADR, ATAM·기술 부채 |
| 23~25 | 운영 | ADR 실전, 팀 토폴로지, 레거시 마이그레이션 |
7. 마치며
처음에는 “REST로 나누면 MSA다” 한 줄이면 충분했을지 모른다. 시리즈를 지나며 그 한 줄 아래에 품질 속성·데이터 소유·조직 경계·ADR·롤백·decommission 게이트가 겹겹이 있다는 걸 봤다.
아키텍처를 안다는 건 모든 패턴을 외운다는 뜻이 아니다. 설계·장애·조직 대화에서 “그건 일관성 트레이드오프다 / stream 팀 소유다 / ADR로 기록해야 한다”고 위치를 잡을 수 있다는 뜻에 가깝다.
해당 내용은 Fundamentals of Software Architecture (Mark Richards, Neal Ford), Software Architecture in Practice 4/E (Bass, Clements, Kazman) 및 시리즈 1~25편을 바탕으로 정리했습니다.
'소프트웨어 아키텍처' 카테고리의 다른 글
| 레거시 마이그레이션 (0) | 2026.07.12 |
|---|---|
| 팀 토폴로지 (0) | 2026.07.11 |
| ADR 실전 (0) | 2026.07.10 |
| 아키텍처 평가 (0) | 2026.07.09 |
| ADR과 의사결정 기록 (0) | 2026.07.08 |