Microservices is not SOA
Jul 22, 2017 · 1 min read
From NodeJS and the Distinction Between Microservices and SOA: One way to avoid hype is to define the buzzwords:
- Service-oriented architecture (SOA): an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network.
- Microservices: a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs
In episodes of Software Engineering Radio, hosts and guests tease apart the differences between the two, as it is an important distinction between past (SOA) and present (microservices).
“Microservices are the kind of SOA we have been talking about for the last decade. Microservices must be independently deployable, whereas SOA services are often implemented in deployment monoliths. Classic SOA is more platform driven, so microservices offer more choices in all dimensions.”- Torsten Winterberg
If Uber were built with a SOA, their services might be:
- GetPaymentsAndDriverInformationAndMappingDataAPI
- AuthenticateUsersAndDriversAPI
If Uber were built with microservices, their APIs might be more like:
- SubmitPaymentsService
- GetDriverInfoService
- GetMappingDataService
- AuthenticateUserService
- AuthenticateDriverService
More APIs, smaller sets of responsibilities.
Originally published at www.quora.com.
