To an enthusiastic podcast host, every RESTful call can look like a reason to write a new Node.js service.
As Yad Faeq points out, we need to avoid the hype vortices of web frameworks. Node fits into many different microservice or service oriented architectures, but poor implementation and callback hell can undermine performance.
One way to avoid hype is to define the buzzwords:
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:
If Uber were built with microservices, their APIs might be more like:
More APIs, smaller sets of responsibilities.
Node is not relevant to the delineation between SOA and microservices. If I’m mistaken about this, please let me know.
Node is relevant because:
Node.js Event Loop