모놀리식 아키텍처란?
모놀리식 아키텍처(Monolithic Architecture, MA)는 단일 코드 베이스로 여러 비즈니스 기능을 수행하는 전통적인 소프트웨어 개발 아키텍쳐입니다.
모놀리식 아키텍처의 장점
- 단순하고 통일성 있는 구조 : 단일코드 베이스로 단순한 구조를 가졌기에, 개발이 쉽습니다.
- 간편한 개발 : 새로운 기능이 추가되거나 버그를 수정 했을때, 단일 프로젝트로 간편한 배포가 가능합니다.
- 빠르고 편한 E2E 테스트 : 단일 어플리케이션으로 E2E 테스트가 쉽습니다.
- 손쉬운 모니터링, 디버깅 : 별도 추가 구성 없이 단일 어플리케이션에서 로직을 수행하기 때문에 모니터링 및 디버깅 쉽습니다.
모놀리식 아키텍처의 단점
- 유지 보수 및 안전성 문제 : 프로젝트가 거대해짐에 따라 코드가 복잡해지고, 모든 팀이 동일한 프로젝트에서 개발함에 따라 예기치 못한 문제가 발생될 가능성이 있습니다.
- 느린 개발 및 배포 속도 : 작은 버그를 수정해도, 단일코드 베이스로 전체 배포를 해야되기 때문에 개발 배포 속도가 느립니다.
- 위축된 확장성 : 특정 서비스에 과도한 트래픽으로 확장이 필요한 상황속에서, 부분만 확장이 불가능하여 전체 애플리케이션 확장해야하는 비효율성이 있습니다.
- 기술 유연성 낮음 : 단일 코드 베이스 기반으로 기술도입으로 모든서비스가 영향을 받을 수 있기 때문에 기술 도입이 어렵습니다.
모놀리식 아키텍처는 언제 사용하면 좋을까?
- 기술적 복잡도가 낮은 소규모 프로젝트
- MVP 수준의 단일 비즈니스 또는 신설 도메인 등
- 시장 진입을 위해 빠르고 간편하게 기능 개발 및 배포를 수행해야 할 때
'소프트웨어 아키텍처' 카테고리의 다른 글
클린아키텍처 (0) | 2024.02.01 |
---|---|
레이어드 아키텍처 (0) | 2024.01.13 |
마이크로서비스 아키텍처 (1) | 2024.01.13 |