EMZETT.
Login

Microservices

In short: With microservices, an application consists of many small, independent services that cooperate over the network. The counterpart is the monolith.

In more detail: Each service has a clear task (payment, users, search), its own data and is developed and delivered independently. That eases the work of large teams but brings complexity: network failures, distributed data, monitoring.

In Depth

  • Monolith: one application, one deployment. Easy to start, easy to test, often the better choice for small to medium projects.
  • Modular monolith: one deployment with cleanly separated modules. A good intermediate step.
  • Communication: HTTP/REST, gRPC, message queues (message queue).
  • Data: Each service owns its database; queries across services are laborious.
  • Rule of thumb: Only start with microservices when team size or scaling requires it.

See also: Kubernetes, Serverless and functions as a service