매일 매일, 차곡 차곡 쌓기



완벽하지 않은 것을 두려워 말며,
완성도를 높히는데 집중하자.

소프트웨어 아키텍처

모놀리식 아키텍처

blockbuddy93 2023. 12. 4. 22:02

모놀리식 아키텍처란?

 

 

모놀리식 아키텍처(Monolithic Architecture, MA)는 단일 코드 베이스로 여러 비즈니스 기능을 수행하는 전통적인 소프트웨어 개발 아키텍쳐입니다.

 

모놀리식 아키텍처의 장점

  • 단순하고 통일성 있는 구조 : 단일코드 베이스로 단순한 구조를 가졌기에, 개발이 쉽습니다.
  • 간편한 개발 : 새로운 기능이 추가되거나 버그를 수정 했을때, 단일 프로젝트로 간편한 배포가 가능합니다.
  • 빠르고 편한 E2E 테스트 : 단일 어플리케이션으로 E2E 테스트가 쉽습니다.
  • 손쉬운 모니터링, 디버깅 : 별도 추가 구성 없이 단일 어플리케이션에서 로직을 수행하기 때문에 모니터링 및 디버깅 쉽습니다.

 

모놀리식 아키텍처의 단점

  • 유지 보수 및 안전성 문제 : 프로젝트가 거대해짐에 따라 코드가 복잡해지고, 모든 팀이 동일한 프로젝트에서 개발함에 따라 예기치 못한 문제가 발생될 가능성이 있습니다.
  • 느린 개발 및 배포 속도 : 작은 버그를 수정해도, 단일코드 베이스로 전체 배포를 해야되기 때문에 개발 배포 속도가 느립니다.
  • 위축된 확장성 : 특정 서비스에 과도한 트래픽으로 확장이 필요한 상황속에서, 부분만 확장이 불가능하여 전체 애플리케이션 확장해야하는 비효율성이 있습니다.
  • 기술 유연성 낮음 : 단일 코드 베이스 기반으로 기술도입으로 모든서비스가 영향을 받을 수 있기 때문에 기술 도입이 어렵습니다.

 

모놀리식 아키텍처는 언제 사용하면 좋을까?

  • 기술적 복잡도가 낮은 소규모 프로젝트
  • MVP 수준의 단일 비즈니스 또는 신설 도메인 등
  • 시장 진입을 위해 빠르고 간편하게 기능 개발 및 배포를 수행해야 할 때

'소프트웨어 아키텍처' 카테고리의 다른 글

클린아키텍처  (0) 2024.02.01
레이어드 아키텍처  (0) 2024.01.13
마이크로서비스 아키텍처  (1) 2024.01.13