-
SOA와 MSA의 차이점개발자 라이프 2018. 11. 19. 11:36반응형
SOA와 MSA를 간단히 알아보고 가장 큰 차이점을 살펴보자
1. SOA와 MSA란?
SOA는 서비스 지향 설계 방식(Service Oriented Architecture)이다.
SOA는 서비스 단위로 개발을 하고, 개발된 서비스들을 공유함으로써 재가용성을 늘리고 유연성을 확보하는 것을 목표로 한다.
MSA는 마이크로 서비스 설계 방식(Micro Service Archtecture)이다.
MSA 또한 아주 작은 단위의 서비스로 소프트웨어를 구성함으로써 민첩하고 유연한 설계를 할 수 있도록한다.
2. 그렇다면 둘의 차이점은?
가장 큰 차이점은 재가용성이다.
SOA는 서비스를 개발하고, 이를 최대한 재가용한다. 예를 들면, A 팀과 그 옆의 B 팀이 있을 때, A에서 개발한 서비스 a를 B에서도 그대로 사용하는 것이다. 이로써 개발된 서비스 단위로 재가용성을 늘리고, 필요에 따라 유연하게 사용함으로써 효율성을 증진시킬 수 있다.
하지만 MSA는 서비스가 공유되기보다 독립적으로 실행되는 것을 지향한다.
즉, 재가용성이 늘어나면 서비스간 결합도가 늘어나기 때문에 아주 작은 서비스 단위를 독립적으로 나누어 구성함으로써 탄력적이고 유연한 구조를 가질 수 있다. 그래서 MSA는 서비스를 공유하기보다 새로 개발하여 구성한다. (SOA에서 언급되는 서비스보다 작은 아주 작은 서비스이기 때문에)
두번째로 서비스간 통신 방식이다.
SOA는 SOAP, WSDL, UDDI, ESB 등 서비스간 통합적이고 공통적인 방식으로 구성되고 통신한다. 그래서 서비스간 결합도가 증가한다.
하지만 MSA는 Restful API 방식으로 서비스 제공자가 외부로 나타낸 API를 통해 통신한다. 따라서 서비스간 결합없이 독립적인 환경과 통신이 가능하다.
3. 결국
SOA와 MSA 모두 서비스 지향 설계 방식이다.
하지만 MSA는 (SOA 보다 작은) 아주 서비스 단위로 독립적으로 소프트웨어를 구성하기 때문에, 보다 민첩하고 유연한 구조가 필요한 환경에서 적합한 설계 방식이다.
반응형