모놀리식 아키텍처와 마이크로서비스 아키텍처는 각각의 라이프 사이클에서 서로 다른 특징을 가지고 있습니다. 앞에서 공부했던 내용들을 정리하여 라이프 사이클을 비교해보았습니다.

 

모놀리식 아키텍처 라이프 사이클 장단점

장점

  • 개발자들이 전체 어플리케이션의 코드 베이스에 접근할 수 있기 때문에, 전반적인 어플리케이션 개발에 대한 통찰력이 높아집니다.
  • 단일 어플리케이션으로 배포하기 때문에 배포과정이 비교적 단순하고, 운영에 대한 복잡성이 적습니다.

단점

  • 코드 베이스가 매우 커질 경우 유지보수, 확장, 배포 등에 대한 복잡도가 증가할 수 있습니다.
  • 하나의 에러로 전체 어플리케이션이 다운될 가능성이 있습니다.
  • 대형 시스템의 경우 전체 어플리케이션을 로컬에서 실행하기 어려울 수 있습니다

 

마이크로서비스 아키텍처 라이프 사이클 장단점

장점

  • 각각의 서비스를 독립적으로 개발, 테스트, 배포할 수 있기 때문에 유지보수 및 확장성이 용이합니다.
  • 서비스들을 분리하여 배포하기 때문에 하나의 에러로 전체 시스템이 다운될 가능성이 적습니다.
  • 새로운 기술 스택을 도입하기에 용이합니다.

단점

  • 서비스들 간의 통신이 필요하기 때문에, 통신 오버헤드가 발생할 수 있습니다.
  • 여러 개의 서비스를 운영하는 데에는 적절한 인프라스트럭처와 팀이 필요합니다.
  • 전체 시스템을 모니터링하고, 문제를 해결하는 작업이 더욱 복잡해집니다.

모놀리식 아키텍처와 마이크로서비스 아키텍처는 각각의 장단점을 가지고 있습니다. 어떤 아키텍처를 선택할지는 구현하고자 하는 시스템의 크기와 복잡도, 개발 및 운영 비용, 확장성 등 다양한 요소를 고려하여 결정 되어야 합니다. 또한, 하이브리드 아키텍처를고려하여 모놀리식 아키텍처에서 일부기능을 분리하여 마이크로서비스로 전화하는 방식을 선택할 수도 있습니다. 따라서, 최적의 아키텍처를 선택하기 위해서는 구현하고자 하는 시스템의 특징과 요구사항을 분석하고, 각 아키텍처의 장담점을 비교하여 결정하는 것이 중요합니다.

'보안공부' 카테고리의 다른 글

도커 레지스트리란 무엇일까?_01  (0) 2023.05.16
쿠버네티스가 왜 필요할까?  (0) 2023.05.15
모놀리식 아키텍처란?  (0) 2023.05.12
마이크로서비스의 장점  (0) 2023.05.11
도커와 마이크로서비스란??  (0) 2023.05.10

모놀리식 아키텍처는 전통적인 소프트웨어 설계 방식 중 하나로, 모든 기능을 단일 어플리케이션에 집중하는 아키텍처입니다. 이것은 대부분의 기능이 하나의 코드베이스에서 실행되기 때문에 어플리케이션의 개발과 배포를 단순화하는 장점이있습니다. 

 

모놀리식 아키텍처에서는 어플리케이션의 모든 컴포넌트가 동일한 서비와 데이터베이스를 공유합니다. 이렇나 설계 방식은 초기 개발 시기에는 효율적이지만, 어플리케이션의 규모가 커지면서 코드 베이스가 복잡해지고, 유지 보수가 어려워지는 단점이 있습니다.

 

모놀리식 아키텍처는 대규모 트래픽을 다루기에는 적합하지 않습니다. 하나의 어플리케이션에 모든 기능이 집중되어 있기 때문에 각 요청이 동일한 서버에서 처리되기 때문입니다. 어러한 구조는 높은 트래픽에 대한 확장성이 떨어지며, 장애가 발생할 경우 전체 어플리케이션이 영향을 받을 수 있습니다.

 

반면에, 모놀리식 아키텍처는 초기 개발 단계에서 개발자들이 어플리케이션의 모든 컴포넌트를 파악하기 쉽습니다. 단일 어플리케이션에서 실행되기 때문에 코드를 수정하고 배포하는 것이 상대적으로 간단합니다.

 

작은 규모의 어플리케이션에 적합한 아키텍처입니다. 하지만, 규모가 커지면서 복잡성과 확장성 문제를 겪게 됩니다. 따라서, 대규모 어플리케이션는 분산 아키텍처와 같은 다른 아키텍처 패턴을 고려하는 것이 좋습니다.

+ Recent posts