Over the past few years, the term Microservices has become very popular. In this post I will try to explain Microservices as simply and concisely as possible. As with my previous posts, the purpose is to give readers a head start and then the hope is that we all could take our learnings from this effort and build on it.
Relation with SOA
In my opinion, Microservices are an evolution of SOA. Alot of the techniques we use here have actually grown from our experiences from SOA. Thus while going through this article if you find yourself wondering that this is the same as in SOA then don’t get confused; since Microservices are an evolution of SOA there will be alot of similarities.
When I read up on Microservices, I realized that I was already designing systems using Microservices concepts, without even formally learning about them. I don’t think this will be a unique case and expecting that alot of my other industry colleagues would realize the same.
Characteristics of Microservices Architecture
Note that there is no formal definition of Microservices architecture, hence interpretations vary. However there are some common characteristics which we can document. These are: