모노레포 등장 배경

이 개발 전략은 고전적 소프트웨어 개발 방식인 모놀리식 애플리케이션(monolithic application) 의 한계에 대한 비판에서 출발한다.

모놀리식 애플리케이션의 한계

"소프트웨어 엔지니어링에서 모놀리식 애플리케이션은 모듈화 없이 설계된 소프트웨어 애플리케이션을 말한다."

모듈화 없이 설계

모듈화 없이 설계

모듈화 설계

모듈화 설계

모놀리식 애플리케이션의 한계 극복

멀티레포

멀티레포는 현재 대부분의 애플리케이션을 개발하는 표준적인 방법이다. 업계는 팀의 자율성 이라는 큰 이유 때문에 이 방식을 선호한다. 팀은 애플리케이션 개발의 라이프사이클을 스스로 결정하기를 원한다.

멀티레포구조 란?

멀티레포 구조는 폴리레포(polyrepo) 구조라고도 부른다. 앞선 예시의 분리된 각 모듈은 멀티레포 구조에서 고유한 저장소가 있는 독자적 프로젝트가 된다. 각 프로젝트는 자율성이 높으며 독립적인 개발, 린트, 테스트, 빌드, 게시, 배포 파이프라인이 존재한다.

스크린샷 2022-08-29 오후 7.36.18.png

멀티레포의 문제