The good-old approach towards software
The most natural way to create an application is to build it as one single unit of code: a so-called Monolithic Architecture. They will have a (often browser-based) user interface and data is stored in a relational database, but the server-side application is still a monolith, one piece of code.
And that’s where Microservices come in
As this frustrated people and businesses, the Microservice Architecture evolved. Applications are built as a collection (or suite) of services. Services are developed independently and focus on doing a small task, allowing them to be deployed independently. These services need a bare minimum of centralized management and it is possible to combine different programming languages and use different data storage technologies.
The pros of Microservices
- Individual components
- Organized around business capabilities
- Re-use of services
- Logic communication between components
- Only use what you need
- Decentralized Data Management
- Design for failure
- Evolutionary Design