Microservices are an architectural style that splits an application into small, independently deployable services, each owning a single capability. The usual motivation is scaling: monolithic applications are hard to scale, and breaking them apart lets each service scale up or out on its own according to its own load.

Once an application is split this way, the services still need to talk to each other. They do so over well-understood, language-agnostic protocols - HTTP for synchronous calls and AMQP for asynchronous messaging.

The flexibility comes at a cost. Microservices carry real drawbacks, chiefly the operational complexity of deploying and coordinating many services and the tendency for each team’s dependencies and runtimes to drift apart over time. Good operational hygiene helps here - for instance, exposing version numbers from every artefact so telemetry and ops teams can see what is running where.

Discovery

Microservices notes are tagged tech/software/containers. Use the tag pane or a Dataview query to browse the full set.