본문 바로가기
인프라

[MA VS MSA 비교]모놀리식 아키텍처(MA) VS 마이크로서비스 아키텍처(MSA)

by code cleaner 2022. 7. 14.
반응형

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

* 공통점 : 시스템 전체가 하나의 목적(서비스)을 지향하며 개발됨

* 차이점 : 모놀리식 아키텍처 대비 마이크로 서비스는 개별 기능을 작은 독립된 서비스로 개발하여 연결함

* 아키텍처 선택 기준 

   - 서비스의 확장성이 많은 AWS 등과 같은 경우에는 마이크로서비스 아키텍처로 개발됨

   - 소규모의 폭포수 방식의 개발에서는 모놀리식 아키텍처로 주로 개발됨

* 마이크로서비스 아키텍처(MSA) 적용 기업 

  - 금융 : CapitalOne, Citibank, Nasdaq, Wells Fargo, Goldman Sachs, Lending Club

  - 커머스 : Gilt, eBay, Amazon, Walmart, Groupon, Autoscout24, 쿠팡, GS홈쇼핑

  - 인터넷서비스 : Twitter, Soundcloudm, Karma, Dropbox, SK플래닛, Google

  - 미디어/엔터테인먼트 : Netflix, Disney, Guardian

  - O2O : Uber, Hailo, Instacart, Airbnb 


모놀리식 아키텍처(monolithic architecture)란?

* 정의 : 하나의 큰 목적이 있는 서비스 혹은 애플리케이션에 여러 기능이 통합돼 있는 구조

 

* 배포방식 : 전체 어플리케이션을 하나의 통합된 패키지로 개발, 배포하는  방식

* 장점 :

(1) 소프트웨어가 하나의 결합된 코드로 구성되기 때문에 초기 단계에서 설계하기 용이

(2) 개발이 좀 더 단순하고 코드 관리간편

(3) 배포, 테스트, 표준화된 방식으로 관리 용이

 

* 단점 :

(1) 서비스를 운영하는 과정에서 수정이 많을 경우, 수정한 부분과 연관된 다른 서비스 부분도 수정이 필요할 수 있음

(2) 서비스가 점점 성장해 기능이 추가될수록 서비스 간의 관계가 매우 복잡해질 수 있음

(3) 확장성(Scalability) 미흡

 

* 아키텍처 도식화

 

* 아키텍처 예시


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

* 정의 : 어플리케이션이 여러 개의 작고 독립적으로 배포 가능한 서비스로 구성되어 다른 서비스들도 독립적으로 동작할 수 있는 완결된 구조

 

* 배포방식 : 개별 서비스 단위로 개발, 배포하는 방식     

* 장점 :

(1) 서비스를 재사용하기 용이함

(2) 서비스 확장성이 높음

(3) 서비스 단위 빠른 개발 및 배포 용이

(4) 서비스 단위 고효율, 저비용 Scale-out 구조

 

* 단점 :

(1) (전체 기준) 테스트, 배포, 관리의 복잡도가 높음

(2) 각 서비스가 서로 유기적으로 통신하는 구조로 설계되어 있기 대문에 네트워크를 통한 호출 증가로 성능에 영향을 줄 수 있음, 분산 시스템 환경에서 transaction 보장 필요

 

* 아키텍처 도식화

* 아키텍처 예시

 

* 기술 프레임워크

(1) Inner Architecture : 개별 마이크로서비스 구축을 위한 아키텍처, 개발 생산성과 배포 유연성을 높임.

(2) Outer Architecture : 개별 마이크로서비스가 개발, 배포, 실행되는 운영환경과 분산된 마이크로서비스의 관리 기능

 

* 오픈소시 지원도구

- Asgard : 애플리케이션 배포 자동화 및 클라우드 관리 툴

- Hystrix : 서비스 가동성와 오류 모니터링 및 관리

- Eureka : 서비스 등록 및 검색

- Ribbon : Client-side 로드 밸런싱

 

* 적용 주의사항 

(1) 마이크로서비스 단위 설정이 중요함. 너무 크면 MSA의 장점에 대한 효과가 미비하고 너무 작으면 트랜잭션 관리의 어려움이 있음 

 


[참조] 

1. 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커, 길벗

2. https://blog.lgcns.com/1278

 

블록을 조립하듯 앱을 조립하는 '마이크로서비스' ①

LG CNS의 사내 전문가들이 LG CNS 블로그 독자 여러분들을 위해 최신 IT 기술 및 트렌드를 소개해 드립니다. 매월 1회씩 아래와 같은 순서로 연재될 예정이오니, 독자 여러분들의 많은 관심과 기대

blog.lgcns.com

3. https://blog.lgcns.com/1281

 

블록을 조립하듯 앱을 조립하는 '마이크로서비스' ②

LG CNS의 사내 전문가들이 LG CNS 블로그 독자 여러분들을 위해 최신 IT 기술 및 트렌드를 소개해 드립니다. 매월 1회씩 아래와 같은 순서로 연재될 예정이오니, 독자 여러분들의 많은 관심과 기대

blog.lgcns.com

 

 

반응형