Microservices is not SOA

Jeff Meyerson
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).

Succinctly:

“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.

Jeff Meyerson

Written by

Software Engineering Daily host www.softwareengineeringdaily.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade