IT용어
모놀리식 아키텍처란?
TLOG
2024. 8. 9. 16:52
반응형
<출처 : RANCHER >
모놀리식 아키텍처는 단일 코드 베이스의 애플리케이션이다. 예를 들어 Java로 작업할 때, 전체 애플리케이션은 단일 데이터베이스에 연결된다. 이것은 매우 일반적인 접근 방식으로, 거의 모든 개발자가 코딩을 시작할 때 이런 종류의 아키텍처에서 작업을 하게 된다. 그래서 모놀리식으로 개발한 어플리케이션은 구현이 쉽고, 덜 복잡하다는 장점이 있다.
모놀리식 아키텍처의 장점
- 단순성 : 모든 코드가 단일 코드 베이스에 있다. 변경 사항이 발생할 경우 필요한 모든 코드가 한 곳에 존재한다는 의미이다. 어플리케이션을 로컬에서 실행해야 할 경우 단일 어플리케이션만 실행하면 된다.
- 간편한 배포 : 단일 프로젝트로 배포하면 되기 때문에 간편하다. 새로운 기능이 추가되거나 버그가 수정될 때마다 단일 어플리케이션을 배포하면 된다.
- 보편성 : 대부분의 개발자가 모놀리식 아키텍처에서 작업한 경험이 있기 때문에, 프로젝트를 쉽게 시작할 수 있다.
- 디버깅이 쉬움 : 모든 코드가 단일 어플리케이션에 있기 때문에 디버깅하기 쉽다. 추가 구성을 수행하지 않고 코드를 실행하여 디버깅하면 된다.
- 쉬운 테스트 : 디버깅과 마찬가지로 모든 코드가 단일 어플리케이션에 있어, 테스트 수행이 쉽다.
- 쉬운 모니터링 : 코드가 모두 단일 프로젝트에 존재하여, 오류 시 문제가 발생한 위치를 식별하기 쉽다.
모놀리식 아키텍처의 단점
- 규모가 확장되면 유지 보수가 어려움 : 시간이 지남에 따라 어플리케이션이 확장되면 관리가 어려울 수 있다. 모놀리식 어플리케이션은 중소형 어플리케이션에서는 자 작동하지만, 어플리케이션이 규모가 확장되고 복잡해지면 문제가 발생할 수 있다.
- 유연하지 않는 확장성 : 모놀리식도 확장할 수 있지만 전체 어플리케이션의 확장만 가능하다. 예를 들어 어플리케이션의 특정 부분에 대해 요청을 받으면, 이 부분만 확장할 수는 없고 전체 어플리케이션을 확장해야 한다.
- 대규모 팀 작업이 어려움 : 모든 팀이 동일한 코드, 동일한 프로젝트에서 작업하기 때문에 코드 병합에 대한 충돌 가능성이 높고, 기능 변경 시 다른 팀이 작업에 영향을 줄 수 있다.
- 기술 사용 제한 : 모놀리식 어플리케이션을 다른 기술로 변경하는 것은 어렵기 때문에, 일반적으로 모놀리식 어플리케이션을 만들면 오랜 기간 동일한 기술을 사용해야 한다.
모놀리식 아키텍처는 언제 사용하면 좋을까?
- 규모가 작은 어플리케이션인 경우
- 현 비즈니스를 통해 성장할 계획이 없거나, 복잡한 시스템 설계 및 관리가 필요하지 않은 경우
- 아직 아이디어를 구상 중인 단계라면 모놀리식으로 시작하는 것이 유리하다.
- 팀의 규모가 작거나 신생 팀인 경우, 또는 새로운 도메인일 때 적합하다.
- 아직 제품이 MVP(최소기능제품, Minimum Viable Product) 상태라면, 모놀리식은 사용자로부터 피드백을 수집할 수 있는 가장 빠른 방법이다.
- 주된 작업이 CRUD(Create, Read, Update, Delet)일 경우
홈페이지전문제작업체 주식회사티로그
그누보드테마 전문생산업체 티로그몰
반응형