Microservices

After reading the article "Microservices", there are a few things that I would like to discuss, we must start first by defining what does a Microservice is. A Microservice architectural style is an approach to developing a single application into modules, each one running its own process and communicating with each other, so when an update is needed the process of implementing the changes is easier. 

One interesting thing is the way the Microservice style is compared to the monolithic style where a monolithic application is built as a single unit. A monolithic server is a natural way to approach building such a system. Explaining in a simple way, a monolithic application puts all its functionality into a single process and scales by replicating the monolith into multiple servers; while a microservice architecture puts each element of functionality into separate service and scales it by distributing these services across servers, replicating as needed. 

A Microservice has some characteristics, such as: 

- Uses libraries (components linked to a program and called using in-memory function calls) but their primary way of componentizing is by breaking down into services (out-of-process components who communicate with a mechanism such as a web service request or remote procedure call). 

- Split into services organized around business capability. 

- Prefers the notion that a team should own a product over its full lifetime, this means that the development is for products, not projects. There is a relationship where the question is how can software enhance business capability. 

- Decentralized Data Management. 

- Infrastructure Automation. 

- Designed for failure. 

- Evolutionary design. 

I consider that Microservice architecture has a lot of future since they are an excellent tool for every system os platform. I am sure that many of the big tech companies will be using Microservice architecture in the next 5 years or maybe they are currently using it to make they platforms stable for customers, supporting huge numbers of petitions to the platforms. I really enjoyed this reading and I am sure that if one day I have to implement a solution for a business I will use microservice architecture.

References: 

- Lewis, J., & Fowler, M. (2014, March). Microservices. Retrieved from https://martinfowler.com/articles/microservices.html

Comentarios

Entradas más populares de este blog

Understanding the SOLID Principles

Ethical Reflection on Ready Player One