Graph
Microservices

🧩Microservices

NEW

Also known as: Microservices Architecture, Service

A small, independently deployable service that implements a specific business capability and communicates via well-defined APIs.

DESCRIPTION

Microservices decompose applications into autonomous services communicating over lightweight protocols. Each service encapsulates a bounded context, enabling independent deployment and scaling. Teams can adopt polyglot technologies and evolve services without a central monolith. Observability, API governance, and DevOps practices are critical for reliability. Trade-offs include distributed complexity, data consistency challenges, and operational overhead. Patterns like service mesh, circuit breakers, and event-driven architectures mitigate such concerns.

ALTERNATIVE DEFINITIONS

Martin Fowler

The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms.

Emphasizes small, independent services communicating via lightweight mechanisms.

Source

AWS

Microservices are an architectural and organizational approach to software development where software is composed of small independent services that communicate over well-defined APIs.

Highlights both architectural and organizational aspects and API-centric communication.

Source

Microsoft Learn

A microservices architecture is a collection of small, autonomous services that communicate over well-defined APIs.

Stresses autonomy and API communication in Azure architecture guidance.

Source

Wikipedia

Microservices are a software development technique—a variant of the service-oriented architecture structural style—that arranges an application as a collection of loosely coupled services.

Positions microservices as a variant of SOA with loose coupling.

Source

Service-Oriented Architecture API Gateway Service Mesh Event-Driven Architecture Domain-Driven Design Kubernetes REST Twelve-Factor App Containers CI-CD Service Discovery Observability

COMPETING TERMS

Monolithic Architecture

KNOWLEDGE AREAS

Software Engineering Cloud Infrastructure Platform & Tooling Data Architecture

TARGET AUDIENCE

Software Developer DevOps Engineer Cloud Architect Enterprise Architect Chief Technology Officer Software Architect Solution Architect

EXTERNAL SOURCES

  • Wikipedia - Microservices
  • Microsoft - Azure architecture guidance for microservices
  • AWS - AWS overview and patterns for microservices
  • Google Cloud - Google Cloud microservices reference architecture
  • Istio - Service mesh for microservices communication

TOP QUESTIONS

Why choose a Microservice architecture over a monolith?

Microservices enable independent deployments, team autonomy, and technology choice. They scale components individually and reduce blast radius. However, they add operational complexity and require strong DevOps practices.

Category: Opinion

What is a common mistake when adopting Microservices?

Splitting too early without clear domain boundaries leads to chatty services and distributed complexity. Start with a well-factored modular monolith and evolve when bottlenecks appear.

Category: Mistakes

How do Microservices communicate safely?

Use well-defined APIs with idempotent operations, circuit breakers, retries, and timeouts. Prefer asynchronous messaging to reduce coupling and improve resilience.

Category: Requirements

How is data managed in Microservices?

Each service owns its data to preserve autonomy. Use event-driven patterns and sagas for cross-service consistency rather than shared databases.

Category: Management

What is currently a hot topic around Microservices?

Service meshes for zero-trust networking and observability, and platform engineering that streamlines microservice delivery, are top trends.

Category: Topic

When should you avoid Microservices?

For small teams and simple domains, a well-structured monolith is faster and cheaper. The distributed overhead may outweigh benefits.

Category: Risks

How do you split a system into Microservices?

Apply domain-driven design to identify bounded contexts. Split around business capabilities and use clear API contracts to minimize cross-service dependencies.

Category: Requirements

How are Microservices observed in production?

Use telemetry with distributed tracing, structured logs, and metrics. Implement correlation IDs and SLOs to detect issues and enforce reliability.

Category: Observability

What is the role of a service mesh in Microservices?

A service mesh provides traffic management, mTLS, retries, and observability without changing application code. It standardizes cross-cutting concerns.

Category: Overview