Microservices are an innovative type of software architecture, which consists of building applications breaking them down into independent services. These services communicate with each other using APIs and provide great agility in development times.
According to many autors, there are 8 main requirements that every microservice should fit in, namely:
- Fault Tolerant
- High performance
- Prepared for any catastrophe
Before sending the microservices to production, a detailed check must be made on each of the above requirements, scoring them, and after that, defining whether they are ready or not to be sent to the production environment.
The concept of microservices architecture is not new, it derives from distributed systems, a topic that has been around since the beginning of the second half of the 20th century. However, its massive implementation is recent, in recent years, many big techs migrated to the microservices architecture, because their old monolithic systems, were no longer handling the extremely high volume of data and requests.
The goal of microservices architecture is to build a set of small applications, each responsible for performing a function, and allow each microservice to be autonomous, independent and self-sufficient.