The separation of the components of a microservice can be done in many ways. If we are using physical or virtual containers, the separation should be carried out in a healthy way for the application, enabling scalability, resilience, availability, and each part of the versioning microservice.
Something that I highly recommend is using Docker to divide the components. Firstly, it is very easy to automate; secondly, it is easy to reproduce the same stack of production in other environments, including the right to development, thus avoiding unpleasant surprises.
In all our microservices, let's use Docker as a tool for the creation of application containers. This book sets out to fully explain the use of Docker, but also ...