본문 바로가기

ETC

개발문화 : 모놀리식 구조(MA) vs MSA 구조 차이

개발조직에 몸을 담고 있다보면 모놀리식(Monolithic Architecture) 그리고 MSA(MicroService Architecture)으로 개발을 할 것인가?에 대한 의견이 있다. 

 

오늘 '모놀리식 구조'를 듣게 되어 이에 대해 정리해보고자 하였다. 

 

Monolithic Architecture : MA

하나의 서비스 또는 애플리케이션이 하나의 거대한 아키텍처를 이룰 때 모놀리식 구조라고 한다. 

End-to-End 테스트가 용이하다 (애플리케이션이 하나의 아키텍처로 구성되어있기 때문에) 

빠르게 서비스를 만들 수 있다 

조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포해야 한다 > 유지보수가 힘들다 

프로젝트 규모가 커질수록 구동시간이 늘어난다 

일부 오류가 전체 서비스에 영향을 미친다 

 

MSA

하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처 

유지보수 용이 

거대한 서비스도 빠르게 수정 가능 

모니터링 & 테스트가 힘듦 

end-to-end 서비스 구동 불편 

 

MSA가 좋은지, MA가 좋은지는 필요에 따라 다를 것이다.