소프트웨어 아키텍처 용어집

C4 모델, DORA 지표, ADR, 아키텍처 드리프트, 클린 아키텍처를 비롯해 모든 소프트웨어 팀이 알아야 할 용어들에 대한 간결한 정의입니다. Archyl이 선별했습니다.

  • C4 모델 — 소프트웨어 시스템을 System Context, Container, Component, Code의 네 가지 수준으로 설명하는 경량 아키텍처 시각화 접근법입니다.
  • System Context 다이어그램 — 소프트웨어 시스템과 사용자 및 외부 시스템 간의 상호작용을 보여주는 C4 레벨 1 다이어그램입니다.
  • Container 다이어그램 — 소프트웨어 시스템을 구성하는 배포/실행 가능한 단위(애플리케이션, 서비스, 데이터베이스)를 보여주는 C4 레벨 2 다이어그램입니다.
  • Component 다이어그램 — 컨테이너를 관련 기능의 묶음(컴포넌트)과 그 협력 관계로 분해해 보여주는 C4 레벨 3 다이어그램입니다.
  • Code 다이어그램 — 컴포넌트의 구현 수준 세부 사항(클래스, 인터페이스, 함수)을 보여주는 C4 레벨 4 다이어그램입니다.
  • 아키텍처 결정 기록 (ADR) — 아키텍처적으로 중요한 단일 결정과 그 맥락, 그리고 결과를 담은 짧은 문서입니다.
  • 아키텍처 드리프트 — 문서화된 아키텍처와 실제로 프로덕션에서 동작하는 시스템 사이에 벌어지는 격차입니다.
  • 적합성 규칙 — 코드베이스가 아키텍처 의도에 부합하는지 검증하는, 기계가 검사 가능한 제약입니다.
  • Architecture as Code — 시스템 아키텍처를 버전 관리되는 텍스트 기반 형식으로 기술하여, 소스 코드처럼 리뷰하고 비교하고 검증할 수 있도록 하는 것입니다.
  • 기술 레이더 — 기술을 링(채택 / 시험 / 평가 / 보류)으로 분류한 큐레이션된 카탈로그로, 엔지니어링 선택을 안내합니다.
  • DORA 지표 — 널리 사용되는 네 가지 엔지니어링 성과 지표: 배포 빈도, 변경 리드 타임, 변경 실패율, 평균 복구 시간입니다.
  • 배포 빈도 — 팀이 프로덕션에 코드를 성공적으로 배포하는 빈도입니다. 네 가지 DORA 지표 중 하나입니다.
  • 변경 리드 타임 — 코드 변경이 커밋된 시점부터 그 변경이 프로덕션에서 동작하기까지 걸리는 시간입니다.
  • 변경 실패율 — 프로덕션에서 성능 저하를 유발해 복구 조치가 필요했던 배포의 비율입니다.
  • 평균 복구 시간 (MTTR) — 프로덕션 장애 발생 후 서비스를 복구하는 데 걸리는 평균 시간입니다.
  • 도메인 주도 설계 (DDD) — 비즈니스 도메인의 모델과 언어를 중심에 두는 소프트웨어 설계 접근법입니다.
  • 헥사고날 아키텍처 — 포트와 어댑터를 통해 도메인 로직을 인프라로부터 분리하는 계층형 아키텍처 스타일입니다.
  • 클린 아키텍처 — 의존성이 도메인을 향해 안쪽으로 향하는 계층형 아키텍처로, Robert C. Martin이 널리 알렸습니다.
  • 이벤트 스토밍 — 도메인 이벤트를 나타내는 스티키 노트를 사용해 비즈니스 프로세스를 그려내는 협업 모델링 워크숍입니다.
  • 마이크로서비스 — 애플리케이션을 비즈니스 역량을 중심으로 구성된, 작고 독립적으로 배포 가능한 서비스들의 모음으로 구조화하는 아키텍처 스타일입니다.
  • 서비스 메시 — 주로 사이드카 프록시를 통해 서비스 간 통신을 처리하는 전용 인프라 계층입니다.
  • API 계약 — 생산자와 소비자가 준수하기로 합의한 API의 정형 명세(OpenAPI, gRPC proto, GraphQL 스키마)입니다.
  • 이벤트 채널 — 서비스들이 비동기적으로 발행하고 구독하는, 이름과 타입이 부여된 이벤트 스트림(흔히 Kafka 토픽 또는 그에 준하는 것)입니다.
  • 소유권 맵 — 시스템 요소(서비스, 모듈, 파이프라인)를 그에 대한 책임을 지는 팀이나 사람에게 연결한 매핑입니다.
  • 리빙 도큐멘테이션 — 동작하는 시스템으로부터 생성되거나 검증되어, 시스템이 발전해도 정확성을 유지하는 문서입니다.
  • MCP 서버 — Model Context Protocol을 구현한 서버로, AI 코딩 어시스턴트가 표준화된 도구 인터페이스를 통해 프로젝트 컨텍스트를 질의할 수 있게 합니다.