최근 IT 시스템의 개발과 운용에 있어서 “Microservice (마이크로 서비스)”라고 하는 아키텍쳐를 도입하는 사례가 늘고 있습니다.
마이크로서비스 아키텍처는 간단히 말하면 서비스를 구성하는 각 요소를 ‘마이크로 서비스’라고 불리는 독립된 작은 컴포넌트로 구현한다는 방법입니다.
마이크로서비스 아키텍처 ( Microservices Architecture : MSA ) 란?
MSA 는 ThoughtWorks사의 마틴 파울러와 제임스 루이스가 만든 소프트웨어 아키텍처로, 모놀리식 아키텍처와는 달리, 비즈니스 기능에 맞추어 여러 개의 작은 「마이크로 서비스」로 분할한 후 연결하여 큰 소프트웨어 기능을 구현하는 것입니다. 이를 통해 신속한 개발, 실행 및 잦은 업그레이드, 뛰어난 가용성 및 확장성을 실현할 수 있습니다.
정리하자면,
MSA ( Microservices Architecture ) 는 애플리케이션이 서비스 모음으로 개발되는 애플리케이션 아키텍처의 한 유형입니다.
또한 MSA 다이어그램과 서비스를 독립적으로 개발, 배포, 유지관리할 수 있는 프레임워크를 제공합니다.
쉽게 풀어서 설명하자면,
마이크로서비스 아키텍처(주로 마이크로서비스라고도 함)란 애플리케이션 개발을 위한 아키텍처 스타일을 의미합니다. 마이크로서비스를 사용하면 대규모 애플리케이션을 각각 담당 영역을 가진 소규모의 독립적인 구성요소로 구분할 수 있습니다.
마이크로서비스 기반 애플리케이션은 단일 사용자 요청을 처리하기 위해 여러 내부 마이크로서비스를 호출하여 응답할 수 있습니다.
마이크로서비스 아키텍처 ( Microservices Architecture ) 와 모놀리식 아키텍처 ( Monolith Architecture ) 의 차이
모놀리식 접근법이란?
지금까지 소프트웨어 시스템의 대부분은 한 통으로 묶인 모놀리식 애플리케이션으로 개발되었습니다. 컴포넌트가 느슨하게 결합된 마이크로서비스 및 서비스 지향 아키텍처와는 대조적으로, 모놀리식 애플리케이션에서는 컴포넌트와 기능이 밀접하게 결합된다. 모놀리식 접근법에는 다음과 같은 단점이 있습니다.
- 코드 기반이 확대되는 반면에 개선이나 변경을 하기 어렵고, 개개의 변경이 어플리케이션 전체에 영향을 미칠 가능성이 있기 때문에 리팩토링이 쉽지 않음
- 모놀리식 애플리케이션 전체에 변경의 영향이 미치기 때문에, 테스트와 개발이 복잡함.
- 컴포넌트 하나의 장애로 전체 애플리케이션이 다운되므로 위험이 높음.
마이크로서비스는 기존의 모놀리식 시스템보다 뛰어난 유연성을 제공합니다.
- 대규모 개발팀을 통한 서비스 개발
- 사용자의 다양한 요구사항을 유연하게 수용
- 비즈니스 기능에 맞추어 분할하여 개발별적으로 강화
- 여러가지 형태의 개발 모델 지원
가장 큰 차이는 애플리케이션의 크기입니다. 모놀리식 아키텍처에서는 크기가 너무 커서 변경, 도입, 확장을 할 수 없습니다. 이 부분에서 마이크로서비스 아키텍처는 유연하게 대응할 수 있습니다.
Posts
오픈마루
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2022/07/MSA.png?fit=703%2C290&ssl=1
290
703
실장 님
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
실장 님2022-07-04 13:25:032022-12-27 10:23:12마이크로서비스 아키텍처 (MSA : MICROSERVICES ARCHITECTURE) 발표 자료 다운로드
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2022/04/Digital-Transformation_facebook-banner.png?fit=1200%2C627&ssl=1
627
1200
실장 님
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
실장 님2022-05-19 16:05:232022-12-27 10:30:04디지털 트랜스포메이션 과 클라우드 네이티브 기술 발표 자료 다운로드
오픈마루
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2021/05/구글과-컨테이너-그리고-쿠버네티스-facebook-banner.png?fit=1200%2C627&ssl=1
627
1200
실장 님
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
실장 님2021-05-17 16:24:272021-05-17 16:24:27구글 과 컨테이너 기술 그리고 쿠버네티스
오픈마루
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2021/05/20210414_쿠버네티스-자동-확장-자원-풀-Auto-scaling_link-banner.png?fit=300%2C169&ssl=1
169
300
junyoung
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
junyoung2021-05-11 13:36:572022-03-19 14:51:26쿠버네티스 : 오토스케일링 데모 와 원리 이해
오픈마루
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2021/05/클라우드-네이티브-비대면-세미나_link_banner-2.png?fit=495%2C400&ssl=1
400
495
실장 님
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
실장 님2021-05-10 09:47:522023-04-18 11:11:57클라우드 네이티브 세미나 발표 자료 다운로드
오픈마루
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2021/05/클라우드-네이티브-데모_link_banner.gif?fit=495%2C400&ssl=1
400
495
실장 님
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
실장 님2021-05-10 09:30:092022-03-21 10:37:27클라우드 네이티브 데모 자료 다운로드
오픈마루
https://i0.wp.com/www.openmaru.io/wp-content/uploads/2021/04/20210405_쿠버네티스데모_마이크로서비스-아키텍처_facebook-banner.png?fit=1200%2C627&ssl=1
627
1200
실장 님
https://www.openmaru.io/wp-content/uploads/2020/11/logo@2x.png
실장 님2021-04-28 09:05:172022-03-24 14:21:00쿠버네티스 : 마이크로서비스 아키텍처 구현 데모