
개발 생산성을 80% 끌어올리고 MSA 이행 경로까지 미리 확보하는 플렉스팀의 영리한 아키텍처 전략
모든 서비스를 통째로 띄워야 했던 거대한 모놀리식 백엔드에서 필요한 도메인만 골라 가볍게 독립 실행하는 'standalone' 빌드 환경 구축 과정을 소개합니다. 모듈러 모놀리식 구조의 강점을 살려 기동 대기 시간을 제거하고 개발 검증 루프를 초고속화한 실무 노하우를 담고 있습니다. 핵심 비즈니스 코드에 영향을 주지 않으면서도 로컬 테스트부터 향후 MSA 분리까지 유연하게 대응하는 아키텍처의 힘을 보여줍니다.
비대해진 모놀리식 시스템으로 인해 로컬 개발 및 테스트 실행 속도가 느려 답답함을 느끼거나, 향후 점진적인 MSA 전환을 구조적으로 깔끔하게 준비하고 싶은 모든 백엔드 엔지니어들에게 필독을 권합니다.
모놀리식 백엔드 환경에서 특정 도메인의 API를 수정하고 테스트할 때 Gateway, 인증, 타 도메인 서비스까지 모든 인프라를 구동해야 하므로 기동 대기 시간이 길어지고 개발 루프의 속도가 느려지는 문제가 발생합니다.
모듈러 모놀리식 구조를 이용해 필요한 도메인 모듈만 조립하여 독립 기동(standalone)할 수 있는 가벼운 애플리케이션 빌드를 구성하고, 트랜잭션 처리와 같은 도메인 간의 결합 경계를 인터페이스로 추상화하여 인프라를 유연하게 갈아 끼울 수 있도록 설계했습니다.
자체 추산 기준 기동 시간을 90초에서 20초로 대폭 단축하여 개발자 1인당 한 달에 약 8시간에 달하는 대기 시간을 절약하였으며, 장기적으로는 비즈니스 로직 수정 없이 해당 도메인을 완벽한 MSA 형태로 격리 분리할 수 있는 아키텍처 유연성을 확보했습니다.
Trade-off
완벽한 도메인 고립을 위해서는 빌드 파일에서 배제해야 할 프로덕션 전용 모듈을 명시적으로 관리해야 하며, 도메인 간 최소한의 비즈니스 연결을 위해 일부 인접 모듈이 의존성을 통해 함께 기동될 수 있음을 감안해야 합니다.
단일 배포 아키텍처 내에서 코드베이스를 기능적, 논리적 단위의 명확한 독립 모듈로 쪼개어 경계를 철저히 관리하는 아키텍처 기법입니다.
트랜잭션 내에서 처리되는 여러 상태 변화나 DB 영속화 작업을 하나의 원자적인 논리적 작업 단위로 묶어 관리하는 패턴입니다.
핵심 비즈니스 규칙이 담긴 내부 도메인 영역을 데이터베이스나 외부 API 등의 인프라 세부 사항과 철저히 분리하고 인터페이스를 통해 상호작용하도록 설계하는 헥사고날 아키텍처 핵심 개념입니다.




