Docker
Docker refers to an Open Source Software for container virtualization and is also a term for the entire ecosystem surrounding this technology.
Container virtualization allows multiple operating systems and applications to run in isolated environments (so-called containers) on the same computer.
Compared to traditional virtualization solutions like VMWare or VirtualBox, this technique is very resource-efficient, as the isolation occurs at the operating system level and the complex simulation of hardware can be avoided.
DockerAdvantages
- Efficient use of system resources
- Significant memory savings
- Direct cost savings through efficient utilization
- Quick and flexible expansion of functions possible
- Applicable for microservices
DockerFacts
01
As free software, Docker serves to isolate applications.
02
Container virtualization allows multiple operating systems and applications to run in isolated environments (so-called containers) on the same computer.
03
Released in 2013, Docker has become indispensable in the programming world.
What use cases are suitable for Docker?
- In Development
For the development of web applications, we build the entire infrastructure on Docker containers.
Starting with local development, we set up Docker containers for each technical component of the application (typically: Frontend, Backend, database) to build them independently and without unwanted side effects. This particularly achieves a high degree of flexibility and independence from the systems used.
Before the use of virtual systems, it was quite common for the same software to behave differently on various systems (e.g., Mac OS, Windows, Linux), but this is mitigated in a Docker system, as it appears to be the same system from the application's perspective. - During Routine Checks
In a further step, Docker is also used at Ambient Innovation to conduct automated tests and code checks. Docker leverages its advantage as an ecosystem, as many tools for web development are already equipped for working with it.
The programmed test scenarios run on automatically set up systems without user data or in a predefined environment. For each new test run, a new environment is created without impacting the production or demo systems. - In Production Use
At the end of a development/development phase, the application can also be deployed in production using Docker.
To manage various applications of our clients and ensure a clear separation of responsibilities, we use the orchestration tool Kubernetes at Ambient Innovation.
With Kubernetes, new applications are deployed as containers and distributed across one or more servers, and it also allows for managing resource constraints and scaling of applications.