Devlog # 2: Docker Infrastructure
Due to digitization and the constant evolution of web technologies, the creation of a web infrastructure is increasingly complicated and, above all, complex. To be up-to-date (like complying with PSD2 regulations) it is necessary to add and combine applications from different providers, each with its own systems and programming languages. As you can imagine, the result is a complex ecosystem to maintain and coordinate. That is why we decided to implement a new infrastructure for Foxize Cloud: Docker.
How does Docker work?
Docker is an infrastructure system that allows you to organize your development environments. It is made up of independent containers, making it possible to have several environments available that can communicate with each other.
We could compare its structure with that of a Russian doll. Docker encapsulates specific functionalities, such as a Memcached server, which instead of having them configured in the container where the code is hosted (the largest Russian doll), is “externalized” in a container that is dedicated only to this functionality (the dolls that are inside). This allows access to the different functionalities without affecting the main code or vice versa, making maintenance much easier.
In addition, these containers make it possible to standardize the work area of the developers and allow easier access to the tools, regardless of the computer from which it is accessed.
What advantages does Docker bring us?
- It allows us to optimize the development infrastructure.
- Improves developer productivity.
- Putting it into action is much faster and more efficient.
- Speed in solving problems.
- We can scale projects more easily.
In short, having an infrastructure based on Docker, it is much easier to manage services.