본문 바로가기

IT

MSA ( MicroServices Architecture ) 란?

마이크로서비스 Microservices

 

Micro 작은,미세한 + Services 서비스들 의 합성어로 하나의 소프트웨어나 어플리케이션 개발에 사용되는 아키텍쳐 방식입니다.

근 몇년 동안 it 산업에서 주요 키워드 중 하나로 널리 알려져있습니다. 마이크로서비스는 기본 모든 서비스들이 통합되어 독립된 하나의 서비스를 카테고리나 서비스 용도에 따라 잘게 나누어서 서로 독립적으로 구성되게됩니다. 과거 모놀로틱 설계방식으로 하나의 견고한 서비스로 서로의 서비스들이 상호작용되어 제공되었던 아키텍쳐와 상반되는 개념입니다. 분리된 서비스들이 각각의 API 를 가지고 복잡한 웹 서비스의 기능들을 담당합니다.

 

Why 마이크로 서비스?

 

잦은 업데이트나 버전 관리에 용이하고 높은 유연성

하나의 서비스에 문제가 생겨도 서로 영향을 끼치지 않아 높은 안정성

트래픽이 몰리거나 스케일링이 특별히 요구되는 서비스에 대해서 따로 맞춤형으로 관리가능

각 서비스에 따른 데이터베이스를 독립적으로 가질 수 있어 관리 및 작업에 유용

개발자나 관리자 입장에서 세분화되어서 맡은 서비스에 집중가능

CI/CD 파이프 구성라인과 쿠버네티스 같은 자동화 기술과 결합한 시너지효과


 

 

이러한 장점들로 마이크로서비스는 개발자,관리자 그리고 소비자들의 관점에서 맞춤형 서비스를 제공하는 것이 쉬워지고 탄력있는 서비스의 운용을 가능하게 해 줍니다. 

But, 기업에 입장에 따라 마이크로서비스 도입 후 비용효율성을 따지고, 인력의 재량과 구성하고있는 서비스의 특징을 잘 고려 해야 합니다. 마이크로서비스의 장점만을 생각하고 구축하려고 하다가 규모와 맞지않는 서비스 선택으로 , 분산 시스템에 따른 관리와 배포가 더 복잡 해 질 가능성이 큽니다. 

 

대표적으로 Netflix 나 배달의 민족 같은 기업에서 마이크로서비스를 사용하고 있습니다.

/ 넷플릭스에서 제공하는 MSA 도입을 위한 오픈소스소프트웨어 (넷플릭스 OSS)