microservices

noun, plural

Microservices are small, independently deployable software services that each perform a defined function and together form an application.

The payment function and product catalogue run as separate microservices.

In a microservices architecture, an application consists of several independent services. Each handles a defined area, such as payments, inventory or notifications. They exchange data through an Glossary · In briefAPIAn API is a defined way for software to exchange data or call functions in other software without needing to know how that software works internally.Read more or message stream, for example.

How do microservices work together?

A microservice usually has its own Glossary · In briefcodebaseA codebase is the collection of source code used to build and maintain a software product or component.Read more and can be tested, released and scaled separately. A team can change the payment service without releasing the whole application again. How independent a service really is also depends on its dependencies. If several services must change together every time, they are tightly coupled in practice.

Microservices often run in Glossary · In briefcontainerA container is an isolated application process with the files and settings it needs. Containers on the same machine usually share the operating system kernel.Read more and are Glossary · In briefdeploymentA deployment is the process of installing and starting a chosen software version in a target environment so it can be tested or used there.Read more through an automated process. Neither is required: the architecture mainly concerns how responsibilities are divided and whether services can be managed independently.

How they differ from a monolith

In a monolithic application, components are usually built and deployed as one unit. This can be straightforward and efficient, especially for a smaller application or team. Microservices let teams develop and scale parts separately, but the additional services and connections make the system more complex.

Failures can occur in communication between services. Glossary · In briefloggingLogging records events while software is running. These records help developers follow a system's behaviour and investigate problems.Read more, security and data consistency also need to work across multiple processes. Microservices are therefore not an automatic improvement: they are most useful when individual parts need different development or scaling schedules.