Back to glossary

Microservices

An architectural pattern that structures an application as a collection of loosely coupled, independently deployable services, each responsible for a specific business capability.

Microservices decompose a monolithic application into small, focused services that communicate over APIs. Each service owns its data, can be deployed independently, and can use different technology stacks. An e-commerce platform might have separate services for user authentication, product catalog, recommendations, payments, and order management.

The benefits include independent scaling (scale only the services under load), independent deployment (ship changes to one service without redeploying everything), and team autonomy (each team owns and operates their services end-to-end). This architecture enables organizations to move faster as they grow.

The trade-offs are real. Microservices introduce distributed systems complexity: network latency between services, eventual consistency challenges, distributed debugging difficulty, and operational overhead from managing many services. Most teams should start with a well-structured monolith and extract microservices only when specific scaling or organizational needs justify the complexity.

Related Terms