모듈러 모놀리식 아키텍처
IT 프로젝트를 시작하면 비즈니스에 대한 이해를 바탕으로 개발 및 운영에 대한 아키텍처에 대한 고민이 많아집니다. 장기적인 지속 가능성을 위해 지속적으로 성장하는 대규모 웹 애플리케이션을 구성하는 아키텍처는 크게 3개로 요약 될 수 있습니다.
- 모놀리식 (Monolithic) 아키텍처
- 모듈러 모놀리식 (Modular Monolithic) 아키텍처
- 마이크로서비스 (Microservice) 아키텍처
그림) 배포 단위 수와 모듈성에 따른 다양한 아키텍처 형태
자세한 정보는 사이먼 브라운의 모놀리식 아키텍처를 참고하세요
모놀리식 아키텍처 장단점 요약
장점:
- 단순성: 간단한 환경설정과 유지 관리하기 쉽습니다, 제한된 자원과 개발 팀이 있는 작은 프로젝트나 스타트업에 적합합니다.
- 복잡성 감소: 단일 코드베이스를 가지고 있어 개발자가 전체 애플리케이션의 로직과 흐름을 이해하기 쉽습니다.
단점:
- 확장 비용 증가: 애플리케이션의 복잡성과 사용자 증가에 따라 스케일링하는 비용이 급격하게 증가합니다.
- 개선의 어려움: 모든 컴포넌트가 밀접하게 연결되어 있기 때문에 특정 기능이나 서비스를 독립적으로 개선하는 것이 번거롭습니다.
- 긴밀한 결합: 컴포넌트 간의 긴밀한 연결은 공유 라이브러리와 데이터베이스에 의존합니다. 특정 기능을 추가하거나 수정하려는 시도에 문제를 일으킬 수 있습니다.