208
3부
영향력
7.5
아키텍처 마이그레이션아키텍처 마이그레이션
많은 회사가 기존의 아키텍처 스타일을 다른 스타일로 마이그레이션한다. 신생
IT
업체의 아키
텍트는 이해하기 쉽고 간단한 아키텍처를 선택하는 경우가 많다. 예를 들면 계층화된 모놀리스
아키텍처가 이런 상황에 어울린다. 회사가 성장기에 접어들면 아키텍처는 변화의 압력을 받고
전환을 검토하게 된다. 이때 아키텍처 마이그레이션의 가장 일반적인 경로는 모놀리식에서 출
발해 서비스 기반 아키텍처에서 마무리된다. 이 과정에서 아키텍처를 바라보는 관점과 사고는
도메인 중심으로 재편된다. 물론 아키텍트에게 가장 매력적인 선택지는 고도의 진화성을 지닌
마이크로서비스다. 그러나 현존하는 커플링을 고려하면 마이그레이션하기 매우 어려운 경우가
많다. 마이크로서비스 전환 사례는
5
.
3
.
1
절에서 자세히 다루었다.
아키텍트가 아키텍처 마이그레이션을 고려할 때는 일반적으로 클래스와 컴포넌트의 커플링 특
성부터 고민하기 시작한다. 그러나 데이터처럼 진화의 영향을 받는 다른 차원을 간과하면 안
된다. 가령 트랜잭션 커플링은 클래스 커플링과 마찬가지로 실재하는 장애물이며 아키텍처 재
구성 과정에서 근절하기 어려운 요소다. 기존 모듈을 지나치게 작은 조각으로 분리하려 한다면
이러한 커플링 지점들이 매우 부담스러운 존재로 작용할 것이다.
많은 시니어 개발자는 동일한 유형의 애플리케이션을 반복적으로 구축하는 지루함 속에 살아
가고 있다. 그렇기에 대부분 개발자는
프레임워크를 사용해
쓸모 있는 것을 만들기보다 ...