본문 바로가기
지식

모놀리식 아키텍처 vs 마이크로서비스 아키텍처 비교

by №㏇㏂〓▥ 2022. 12. 29.
728x90

1.모놀리식 아키텍처(Monolithic Architecture)

전통적인 소프트웨어 프로그램 개발 방식으로 통합된 유닛형태로 만들어지는 방식으로 하나의 코드 베이스를 갖는 대규모 단일 시스템이다. 신규 기능 추가, 기능 개선 등의 소스코드 변경시 전체 소프트웨어를 빌드 후 재배포하게 되므로 시간이 오래 걸림.

모놀리식 아키텍처의 장점
  • 쉬운 배포 : 실행파일 및 디렉토리가 하나, 배포 용이
  • 쉬운 개발 : 하나의 소스코드 베이스로 어플리케이션 구축 용이
  • 테스트 간소화 : 중앙 집중식 어플리케이션으로 빠른 테스트 수행 가능
  • 디버깅 간편 : 모든 코드가 한 곳에 있어 문제 찾기 용이
모놀리식 아키텍처의 단점
  • 개발속도 저하 : 대규모 시스템 개발에서는 개발복잡도 증가로 개발 속도 저하
  • 확장성 저하 : 개별 컴포넌트 확장 불가
  • 안정성 저하 : 개별 모듈의 오류로 어플리케이션 전체에 영향을 줌
  • 기술 lock-in : 개발 언어를 변경시 어플리케이션 전체에 영향을 미침, 변경시 비용과 시간이 많이 소요됨
  • 배포 : 어플리케이션의 작은 변경도 전체 시스템 재 배포

 

2.마이크로서비스 아키텍처(Microservice Architecture)

기능 단위 개발 및 독립적 배포가 가능한 일련의 서비스 단위 개발방식이다.

이런 서비스에는 자체 비즈니스 로직과 데이터베이스가 존재함. 그리고 개발, 테스트, 배포, 업데이트 등은 각각의 서비스 내에서 이루어지므로 이런 작업이 다른 서비스에 영향을 주지 않고 독립적으로 관리 운영이 가능하며, 지속적인 배포가 관행인 DevOps와 함께 사용됨.

마이크로서비스 아키텍처의 장점
  • 유연한 배포 : 잦은 배포로 소규모의 팀단위 애자일(Agile) 작업 방식에 유리
  • 지속적 배포 : 릴리즈 주기가 짧아 시장에 빠른 반응을 볼 수 있음.(Time to market)
  • 독립적 배포 : 서비스 단위로 개별적으로 빠르게 배포 가능
  • 높은 안정성 : 시스템 오류로 전체 시스템이 중단될 위험이 없음.
마이크로서비스 아키텍처의 단점
  • 무분별한 개발 : 여러 팀이 더 많은 서비스 개발로 모놀리식 아키텍처 보다 더 복잡해질 수 있음.
  • 인프라 비용 증가 : 마이크로 서비스 단위로 개발,테스트, 배포 등이 이루어지므로 자체 비용이 증가
  • 디버깅 문제 : 마이크로 서비스 단위로 로그를 관리하므로 디버깅이 더 복잡해질 수 있음.
728x90

'지식' 카테고리의 다른 글

온프레미스(On-premise), 오프프레미스(Off-premise) 개념  (0) 2022.12.29

댓글