site_logo

Microservice architecture

Updated at: 24 January 2025

Microservice architecture is a style of software development that consists in splitting the system monolith into separate components that represent independently deployable services. Active spreading of this approach is connected with the practice of agile development. The approach is business-oriented. Microservice architecture does not have a clear description, but it has a number of characteristics.

Each of the services existing in the application should be small, focused, i.e. perform a single function. Loose coupling provides the ability to change one service without affecting the others. High consistency is also inherent to services in a microservice architecture.

Each individual service is designed to perform relatively simple functions, the work of the application is tested in real time with the tracking of technical elements and business characteristics. Services are deployed independently of each other, have clear physical boundaries, which makes them scalable and allows using different programming languages.

Microservices are one of the ways to increase application performance (along with "sharding" and "mirroring"; these methods are described in the book "The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise").