The Guide to Practical and Pragmatic IT Architecture Design

What are Microservices and its characteristics

Nowadays there is a lot of talk about microservices. This type of services is very popularized by the internet companies such as NetFlix, Amazon and Google that took over the world. It has a lot to do with decoupling which we discuss in the next section. But in short, microservices are not different than the SOA services. It is actually a subset of business services, where microservices act as autonomous independent functionalities.

Where does it come from? It had to do a lot with the drawback of the original SOA business services. These services are basically proxies and depend much on the underlying core applications. If the underlying system is not available, the service also fails. And the same has to do with development, where a service needs to be developed and tested with the underlying application.

A microservice takes this pattern a step further and isolate the functionality from its underlying system. To achieve that isolation, the functionality has its own data and functionality and can stand on its won without dependency on any other application. So, in short, a microservice can be the same functionality as a SOA service, with the only difference that it is completely independent of the underlying system.    
 
Micro services architecture


Characteristics of microservices are:
  • Simple and focused on a specific business functionality,
  • Can be developed independently from other teams and software,
  • They are very lowly coupled to other components,
  • They can be developed using different programming language and tools,
  • Allows that applications can be subdivided in autonomous and independent modules.

In the next section about decoupling we will explain why microservices are that important in software architecture design. 

No comments: