What is that of microservices?

A “microservices architecture” is an approach to developing a software application as a series of small services, each running autonomously and communicating with each other, for example, through HTTP requests to their APIs.

Monolithic approach vs. microservices

In order for you to really understand what we are doing with microservices, I am going to give a very simple example. Imagine that we want to make a web application, Amazon type, but easier. Users enter our website, see the products we have for sale, and when they buy an item, we manage the shipment of the product to their home.

Monolithic vision

We can access the store’s website, make purchases, etc., thanks to a server, a machine that is executing the application code which eventually connects to a database to retrieve information.

Microservices vision

Instead of having a single executable, each component is an executable by itself, and the services communicate with each other through calls.

  • It is easy to understand, since the business logic is well separated.
  • It facilitates the management of multifunctional and autonomous teams.
    By itself, each microservice is multi-functional: it has a database, backend, etc. part, in addition to being independent from the others. We can form cross-functional teams that handle multiple microservices, scaling the development process more easily.
  • It is easier to scale at the software level, since instead of replicating the entire application and managing it with balancers, we will replicate the microservices that have the most load.

So do I switch to microservices or not?

A microservices architecture may seem very beneficial, but like everything, it has its pros and cons. Like any software architecture.

Software developer @ basterrika.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store