Definition
Microservices are individual pieces of business functionality that are independently developed, deployed and operated. Microservices are a variant of service-oriented architecture that structures an application as loosely coupled services. Services are fine-grained and protocols are light-weight.
Characteristics of microservices include:
- Single purpose
Do one thing and do it well.
- Encapsulation
Each microservice owns its own data. Interaction with other applications is through well-defined APIs (often, but not always, HTTP and REST).
- Ownership
Usually, a small, single team of people develop, deploy, and manage a single microservice through its life cycle.
- Autonomy
Each team can build and deploy its own microservice at any time, without having to coordinate with anyone else. Each team also has a lot of freedom in making its own implementation decisions.
An architecture based on microservices has many benefits:
- flexibility - a system is easy to maintain by different, autonomous teams
- modularity - quickly respond to new business challenges
- scalability - scale the system functionalities independently of each other
- integration - fulfill the needs for serverless and headless strategies
Synonyms
none
Acronyms
none