Microservices is the new buzz word in the software industry apart from many other buzzwords.

Sadly, we live in an era of buzzwords and keywords and things can get hyped up big time. But is microservices really just a buzzword?

I’ll come to that in a bit.

Whether it is simply hype or something solid, it has certainly gained a fair amount of traction in the industry. Despite all this, however, I have noticed that there is still a fair share of confusion around a concrete definition of microservices.

And maybe, that’s because there is not a clear definition of microservices.

Defining Microservices

So let’s give it a try and define microservices.

Without sounding too vague, we can safely say that microservices architecture is a style of building an application as a group of services.

Yes, that’s basically it! But then, isn’t that just SOA?

And my answer to that would be Yes and No.

Microservices could be considered a variant of SOA. However, they have some defining features that make them different enough from SOA.

So what are those features? Let’s list them:

  • Loosely coupled (just like SOA)
  • Highly testable and maintainable (pretty much like SOA)

Oops, maybe I missed the ball over there. Let’s try again.

  • Services are individually deployable (not exactly like SOA)
  • Services are fine grained and organized around business capabilities (pretty different from SOA)
  • Different tools (programming languages, databases, runtime environments) for different services is a possibility (a pretty solid difference from SOA).
  • Services rely on faster messaging mechanisms as compared to traditional SOA that depends on ESB

So as you can see, microservices are similar to SOA but with enough differences of their own. However, without getting into unnecessary flame-wars, we can safely assert the below:

Microservices are a specialization of Service Oriented Architecture. They help in designing flexible and independently deployable software.

Why should we care?

Let’s come back to the main point of this post. Why should we care about microservices?

Let’s look at some facts:

  • Netflix receives almost a billion API calls every day from more than 800 different types of devices. Each API call might lead to 3-5 additional calls. The complexity of managing all this prompted Netflix to move to a microservices architecture.
  • Amazon, the largest e-commerce platform in the world, has migrated to microservices. They get billions of calls from a plethora of applications. It would have been impossible to manage the same using a typical 2-tier architecture.
  • Uber, the giant cab-aggregator service, has embraced microservices architecture. With 500+ functionalities, managing them and releasing continuous updates could not have been possible with traditional monolithic applications.

Those are some pretty big players using microservices. And there are more moving in that direction based on the obvious success the above mentioned enterprises have achieved. A lot of that success could certainly be attributed to their architecture.

Whether we like it or not, microservices are here to stay. It definitely makes sense to learn more about them and understand how they are implemented.

In the following posts, we would be going further in this direction. So stay tuned.


Saurabh Dashora

Saurabh is a Software Architect with over 12 years of experience. He has worked on large-scale distributed systems across various domains and organizations. He is also a passionate Technical Writer and loves sharing knowledge in the community.

2 Comments

Corpely.com · August 23, 2019 at 1:40 am

The service-oriented process always tended to be unwieldy, with questionable or hard-to-measure business benefits. Microservices, because they are more lightweight, promise far greater flexibility — which translates to more flexibility for business users to make changes. Potentially, then, microservices represent the next stage in IT agility, building on what already has built in terms of service oriented architecture, REST services, web APIs, and cloud services. Or is it just a new buzzword?

    Saurabh Dashora · September 1, 2019 at 3:01 am

    Hi, in my view, microservices are an evolution of SOA. But unlike SOA, microservices also deal with how you run and deploy them and how fast can you implement changes. In my view, the main draw of microservices is in faster time-to-market scalability.

Leave a Reply

Your email address will not be published. Required fields are marked *