Glossary

What Is Microservices Architecture?

Microservices is an architecture where a large application is split into small, independently deployable services — each responsible for one domain and communicating over APIs.

Microservices contrast with a monolith: one application that handles everything. In a microservices architecture, the payment service, the notification service, and the user service are separate deployments. Each has its own database, its own deploy cycle, and its own team responsibility.

Why companies adopt microservices:

  • Teams can deploy their service independently without coordinating a global release
  • Services can be scaled individually (the video processing service gets more CPU; the auth service doesn't)
  • A failure in one service doesn't bring down the entire application

Why microservices are wrong for most MVPs: Microservices add enormous operational overhead — service discovery, distributed tracing, network latency between services, multiple deployment pipelines. A 2-person team maintaining 8 services spends more time on infrastructure than on features.

The right progression:

  1. Monolith first — ship the MVP as one deployable unit
  2. Modular monolith — separate the codebase into clear domain modules without separate deployments
  3. Extract services — when a specific part of the system needs independent scaling or team ownership

Microservices at the edge: Serverless functions (Vercel, Cloudflare Workers) give you some microservices benefits — independent deployment per function — without the operational overhead of managing a service mesh.

Related Terms

Want this built?