모놀리식 아키텍처란?
하나의 서비스 또는 애플리케이션이 하나의 거대한 아키텍처를 가지는 것을 말한다.
특징
- 그 자체로 강건하며 내부 요소간의 의존성이 강하다.
- 비즈니스 컴포턴트들이 하나의 강한 결합구조를 지니고 통일성이 있다.
- 비즈니스 로직이 서비스에 최적화된 코드를 만들어내는데 좀 더 집중할 수 있는 반면, 복합적인 예외를 만들 수 있는 위험성을 내포하게 된다.
장점
- 단순한 아키텍처 구조로 개발이 쉽다.
- 서비스의 개발 환경들이 모두 같아서 복잡하지 않다.
- 배포가 간단하다.
- 쉽게 고가용성 서버 환경을 만들 수 있다.
- End-to-End 테스트가 용이하다.
단점
- 프로젝트의 규모가 커짐에 따라 애플리케이션 구동시간,배포,빌드 시간이 길어진다.
- 조그마한 수정 사항이 있더라도 전체를 다시 빌드하고 배포해야 한다.
- 많은 양의 코드가 몰려있어 개발자가 모두를 이해할 수 없고 유지보수가 힘들다.
- 일부분의 오류가 전체레 영향을 미친다.
- 기능별로 알맞는 기술, 언어, 프레임워크를 선택하기 까다롭다.
참고 사이트
모놀리식 아키텍처