Docker
Docker is the most prominent open-source software for the containerisation of applications.
What is Docker?
Container deploymentDocker is an open source software developed in Go that enables the deployment of software systems inside containers, that is, containers that include the application and all its dependencies in order to be able to run flexibly in any environment.
Docker and microservices
When do we use Docker?In a microservices-based approach, the application is deployed in the form of a suite of applications, each of which can be developed, modified, deployed and scaled independently from the others. Docker is a de facto standard in cases of systems consisting of microservices. In the case of large applications, which need to scale down quickly and flexibly, Docker can be supported by Kubernetes.
What are microservices and when do we use them?
When a monolith is no longer optimalThe typical structure of an enterprise application consists of one (or more) user interfaces, a backend component that provides APIs and a database. This approach is the simplest choice in many cases as it's faster to implement and test and with a reduced budgetary impact. However, there are some cases in which a microservices structure is preferable, in particular where the various parts of the system are predicted to evolve independently in the future or in those cases where scalability is a critical point. Specifically, there may be a load that focuses on one or the other part of the system at different times. In these cases, the selection of a microservices architecture guarantees greater flexibility and better performance with a more accurate use of resources.