최근 IT 시스템의 개발과 운용에 있어서 “Microservice (마이크로 서비스)”라고 하는 아키텍쳐를 도입하는 사례가 늘고 있습니다.

마이크로서비스 아키텍처는 간단히 말하면 서비스를 구성하는 각 요소를 ‘마이크로 서비스’라고 불리는 독립된 작은 컴포넌트로 구현한다는 방법입니다.

마이크로서비스 아키텍처 ( Microservices Architecture ) 란?

마이크로서비스는 ThoughtWorks사의 마틴 파울러와 제임스 루이스가 만든 소프트웨어 아키텍처로, 모놀리식 아키텍처와는 달리, 비즈니스 기능에 맞추어 여러 개의 작은 「마이크로 서비스」로 분할한 후 연결하여 큰 소프트웨어 기능을 구현하는 것입니다. 이를 통해 신속한 개발, 실행 및 잦은 업그레이드, 뛰어난 가용성 및 확장성을 실현할 수 있습니다.

정리하자면,

마이크로서비스 아키텍처 ( Microservices Architecture ) 는 애플리케이션이 서비스 모음으로 개발되는 애플리케이션 아키텍처의 한 유형입니다.

또한 마이크로서비스 아키텍처 다이어그램과 서비스를 독립적으로 개발, 배포, 유지관리할 수 있는 프레임워크를 제공합니다.

쉽게 풀어서 설명하자면,

마이크로서비스 아키텍처(주로 마이크로서비스라고도 함)란 애플리케이션 개발을 위한 아키텍처 스타일을 의미합니다. 마이크로서비스를 사용하면 대규모 애플리케이션을 각각 담당 영역을 가진 소규모의 독립적인 구성요소로 구분할 수 있습니다.

마이크로서비스 기반 애플리케이션은 단일 사용자 요청을 처리하기 위해 여러 내부 마이크로서비스를 호출하여 응답할 수 있습니다.

마이크로서비스 아키텍처 ( Microservices Architecture ) 와 모놀리식 아키텍처 ( Monolith Architecture ) 의 차이

모놀리식 접근법이란?

지금까지 소프트웨어 시스템의 대부분은 한 통으로 묶인 모놀리식 애플리케이션으로 개발되었습니다. 컴포넌트가 느슨하게 결합된 마이크로서비스 및 서비스 지향 아키텍처와는 대조적으로, 모놀리식 애플리케이션에서는 컴포넌트와 기능이 밀접하게 결합된다. 모놀리식 접근법에는 다음과 같은 단점이 있습니다.

  • 코드 기반이 확대되는 반면에 개선이나 변경을 하기 어렵고, 개개의 변경이 어플리케이션 전체에 영향을 미칠 가능성이 있기 때문에 리팩토링이 쉽지 않음
  • 모놀리식 애플리케이션 전체에 변경의 영향이 미치기 때문에, 테스트와 개발이 복잡함.
  • 컴포넌트 하나의 장애로 전체 애플리케이션이 다운되므로 위험이 높음.

마이크로서비스는 기존의 모놀리식 시스템보다 뛰어난 유연성을 제공합니다.

  • 대규모 개발팀을 통한 서비스 개발
  • 사용자의 다양한 요구사항을 유연하게 수용
  • 비즈니스 기능에 맞추어 분할하여 개발별적으로 강화
  • 여러가지 형태의 개발 모델 지원

가장 큰 차이는 애플리케이션의 크기입니다. 모놀리식 아키텍처에서는 크기가 너무 커서 변경, 도입, 확장을 할 수 없습니다. 이 부분에서 마이크로서비스 아키텍처는 유연하게 대응할 수 있습니다.

Tag Archive for: 마이크로서비스 아키텍처

구글 과 컨테이너 기술 그리고 쿠버네티스오픈마루
쿠버네티스 오토스케일링오픈마루
클라우드 네이티브 세미나오픈마루
클라우드 네이티브 데모오픈마루
쿠버네티스 마이크로서비스 아키텍처오픈마루
클라우드 네이티브 비대면 워크샵 - 혁신적인 기술을 배우세요

클라우드 네이티브 비대면 워크샵 – 혁신적인 기술을 배우세요

/
줌(Zoom), 구글밋(Google Meet), 유튜브 라이브(Yotube Live)를 이용한 클라우드 네이티브 비대면 워크샵 - 혁신적인 기술을 비대면으로 확인하세요
클라우드 네이티브 비대면 세미나 자료 다운로드 – 혁신적인 지식 획득
데모로 이해하는 클라우드 네이티브