Microservices promise to make IT fit for the future! But what does it take? And where does its use make sense? Answers in the article.
Author: Matthias Hert
Which characteristics describe a microservices architecture? And what basic concepts must be in place to build a functioning microservices architecture?
Microservices is an architectural style for the creation of applications. It follows the approach of building complex applications modularly, based on fine-grained building blocks, the so-called microservices. The functionality of the individual microservices is made available to other microservices and clients via APIs or Message/Event Bus. Each microservice functions autonomously and implements a very specific function. This corresponds to the philosophy known from the Unix environment «do one thing, and do it well», i.e. perform only one function, but do it well.
The following figure shows the schematic structure of a microservices architecture.
Microservices architectures are primarily suitable for building applications that differentiate a company. These applications are often subject to constant change and must be adapted quickly due to market changes. Concrete examples would be the online shop of a retailer, the customer portal of an insurance company or the e-banking of a bank. But are the requirements regarding scalability and flexibility of the applications really that high? The choice of a microservices architecture must be well considered! After all, the flipside of microservices architectures is the considerably increased complexity, as well as the necessary organizational changes in the direction of cross-functional teams. In addition, DevOps and Continuous Delivery are concepts that must be implemented first. Only then can a microservices architecture lead to success.
Even if microservices are currently a hype, in many cases a conventional application architecture with considerably less complexity is sufficient.