
1. Monolithic architecture란?
- 독립적이고 다른 애플리케이션과 독립적인 통합 단위로 구축
각 서비스가 하나의 결과물인 jar 파일 하나로 묶이는게 특징입니다.
2. Monolithic architecture의 장점
- 개발의 단순성 : 코드가 한곳에 모여있어서 개발하기 쉽다.
- 디버깅의 단순성 : 코드가 한곳에 모여있어서 문제를 찾기 쉽다.
- 배포의 단순성 : 프로젝트 하나만 배포 하면 되기 때문에 배포 하기 쉽다.
- 클라우드 비용 절감 : MSA는 서비스 마다 클라우드에 구축을 해야 하지만 Monolithic은 하나만 구축하면 됩니다.
3. Monolithic architecture의 단점
- 느린 개발 속도 : 규모가 커질수록 개발이 더 복잡해지고 속도가 느려지고 동일한 프로젝트에서 작업하기 때문에 코드 병합에 대한 충돌 가능성이 높아집니다.
- 안성성 : 부분 서비스가 문제있을 경우 전체 서비스에 문제가 생길 수 있습니다.
- 배포 : 한 부분만 조금만 수정 하여도 전체를 배포 해야 하기 때문에 규모가 클수록 배포 시간이 길어진다.
요약
Monolithic architecture는 빠른 개발, 테스트, 디버깅의 단순성, 비용 때문에 소규모 애플리케이션에 최적입니다.
만약 규모가 커지면 MSA(Microservice architecture)를 고려 해봐야 합니다.
출처 : https://yozm.wishket.com/magazine/detail/1813/
https://www.atlassian.com/ko/microservices/microservices-architecture/microservices-vs-monolith
마이크로서비스와 모놀리식 아키텍처 비교 | Atlassian
모놀리식 애플리케이션은 하나의 통합된 유닛인 반면, 마이크로서비스 아키텍처는 독립적으로 배포할 수 있는 소규모 서비스의 모음입니다.
www.atlassian.com
모놀리식 vs 마이크로서비스, 어떤 아키텍처를 선택할까? | 요즘IT
모놀리식 애플리케이션은 소프트웨어 개발을 위한 기본 접근 방식이다. 그렇다면 마이크로서비스가 대세가 된 현재 모놀리식 접근 방식을 버려야 할까? 만약 모놀리식 애플리케이션에서 마이
yozm.wishket.com