한 줄 정의

겉으로는 개별 서비스 단위로 쪼개져 분산 시스템의 외형을 취하고 있으나, 실제로는 강한 결합도와 의존성으로 인해 독립적인 배포가 불가능하고 모놀리스의 단점만을 결합한 기형적 아키텍처 상태를 의미한다.

핵심 요지

  1. 결합도의 분산화: 물리적으로는 네트워크를 사이에 두고 나뉘어 있으나, 도메인 로직 변경 시 여러 서비스(예: 리포지토리 3개 이상 raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L43)을 함께 배포해야만 기능이 동작하는 lockstep 배포 한계를 갖는다.
  2. 비용 및 지연시간 증가: 동일 프로세스 내 함수 호출 대비 네트워크 통신은 약 백만 배의 속도 차이raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L53를 내며, 인프라 유지 비용 역시 일반 모놀리스 대비 3.75배에서 최대 6배까지raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L55 높게 발생한다.
  3. AI 에이전트 환각 유발: 파편화된 리포지토리 경계는 AI 에이전트에게 전체적인 비즈니스 의미 지도(Semantic Map)를 차단하여 의존 서비스를 블랙박스로 다루게 함으로써 에러와 환각을 심화시킨다.

상세

분산 모놀리스의 발생 징후는 세 가지 자가진단 항목으로 구체화할 수 있다raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L43:

  • 동시 배포 (Lockstep Deployment): 독립적인 CI/CD가 불가능하고 특정 서비스들이 항상 동시에 배포되어야 함.
  • 다중 리포지토리 변경: 단순 도메인 수정에 3개 이상의 저장소 코드를 동시에 건드려야 함.
  • 전담 릴리스 코디네이터 배정: 배포 순서와 연계 관계를 조율할 전담 인력이 필수적으로 요구됨.

예시

  • Segement의 모놀리스 복귀: 2018년 고객 데이터 플랫폼인 Segment는 140개의 마이크로서비스를 관리하는 데 전업 엔지니어 3명의 리소스 전체가 낭비되자 마이크로서비스 아키텍처를 포기하고 단일 모놀리스로 돌아섰다raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L57.

충돌

  • 서비스 분산을 통한 확장성 확보 vs 분산 오버헤드:
    • 마이크로서비스 진영: 시스템을 다수의 마이크로서비스로 분할하여 독립적인 스케일 아웃을 보장해야 한다.
    • 반론: 독립적 스케일이 필요 없는 서비스들까지 인위적으로 분할할 경우, 분산 모놀리스 현상이 야기되어 인프라 유지 비용이 3.75~6배 증가raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L55하고 안정성을 해치므로, IDP 및 MCP의 완전한 도입 등 4대 전제조건raw/마이크로서비스 대신 모듈러 모놀리스 — AI 에이전트가 코드를 읽기 시작했을 때 바뀐 것들.md#L123이 충족되기 전에는 모듈러 모놀리스가 권장된다.

관련 노트