소프트웨어 아키텍처

Architecture Series를 마치며

meellon 2026. 7. 13. 05:20

이 글의 목적

소프트웨어 아키텍처 본편 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

블로그 내 이어읽기 (권장 순)

  1. 플랫폼 · DevOps · Cloud — 배포·K8s·CI/CD (MSA·strangler 실행)
  2. 데이터베이스 따라잡기 — 스키마·복제·CDC 심화
  3. 관측성 기초 — SLO·트레이스 (품질 속성 실측)
  4. 애플리케이션 보안 — AuthN/Z·TLS (경계·신뢰)
  5. 운영체제 따라잡기 — 프로세스·I/O·격리 (런타임 기반)
  6. 네트워크 기초 — 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