Microservices is a recent term used to describe systems where the logic tier of the three-tier pattern is composed of several smaller services that communicate with language-agnostic protocols.
Typically, the language-agnostic protocol is HTTP based, commonly JSON REST, but this is not mandatory. There are several possibilities for the protocol layer.
This architectural design pattern lends itself well to a CD approach since, as we have seen, it's easier to deploy a set of smaller standalone services than a monolith.
Here is an illustration of what a microservices deployment may look like:
![](https://static.packt-cdn.com/products/9781788392570/graphics/assets/2ec87b2a-393d-42ee-8471-9b89d7dd41df.png)
We will evolve our example towards the microservices architecture as we go along.