Over a million developers have joined DZone.

The Microservices Discussion: Didn’t We Do This Before?

Microservices are eating the world, or so it seems. But aren't microservices just SOA done right?

Learn how API management supports better integration in Achieving Enterprise Agility with Microservices and API Management, brought to you in partnership with 3scale

Microservices is a trending term right now. The enterprise programmers’ corner of the Internet seems to be stuffed to the brim with talk of microservices — Mark Russinovich, CTO of Microsoft Azure, even wrote a blogpost calling it a revolution. Chris Hart of Ramses.tech wrote at length about it, linking it to the Unix philosophy. By all accounts, microservices seem to be changing the world…

Or are they? On the 24th of March, WSO2 hosted a meetup in Colombo, based on Microservices. In it, Kasun Indrasiri and Afkham Azeez tackled what we think is a pressing question: what are microservices, and how are they different from what we’re already doing?

By now, everyone knows what the monolith is — the dreaded single-unit architecture that ends up becoming a nightmare to deploy, build on and scale. It is self-contained and is, in essence, a silo unto itself.


Enter microservices: the philosophy that a single application should be composed of multiple fine-grained, loosely coupled services that are built and deployed independently of each other.

Kasun explored this concept in minute detail in an earlier blogpost, pointing out that microservices need to follow the Single Responsibility Principle: each microservice handles a limited and focused business operation, and as such should have very few operations and a simple message format. That’s so you don’t end up just building miniature monoliths. Harries Blog contains a diagram that illustrates this well:

However, in all of this, the software industry seems to be forgetting that such a development style has already existed for a while now. Some time ago one of the hottest buzzwords was Service Oriented Architecture, or SOA: essentially, unassociated, self-contained units of functionality communicating with each other to get a job done, usually with some kind of interface in between.

Sounds familiar?

While the definitions of microservices seem less vague, Microservices, Kasun pointed out, is actually little more than SOA done right. Indeed, as Azeez noted, the software industry likes to reinvent old things by slapping a new name onto them. It’s not a new paradigm, and nor is it a panacea; there are instances where it’s not the most optimal route to take.

It’s possible that ‘microservices’ started trending because we now have better and easier tools for facilitating this kind of development. Docker and Kubernetes have practically hammered in these basic concepts into a lot of developers’ heads. All it needed was a name. If my understanding here is wrong, do correct me.

Either way, here’s a toast to microservices — for keeping the spirit of SOA alive and kicking.


Unleash the power of your APIs with future-proof API management - Create your account and start your free trial today, brought to you in partnership with 3scale.

architecture,service oriented architecture,microservices,single responsibility principle,oriented

Published at DZone with permission of Yudhanjaya Wijeratne. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}