Currently Docker is the most widespread container framework. It is used by even Google and Amazon. Stylers has also made the switch from Vagrant to the Docker technology in 2017 and we use it with all of our projects. Several Docker workshops have been held to our staff to make the transition to Docker smooth and to keep the expertise of our employees current since the switch.
From virtual machines to containers
Both virtual machines (VMs) and containers provide solutions for the same problem. Both can isolate an application and all of its connections into a single unit that can be run anywhere, in other words, both of them provide a completely separated virtual environment and both of them are resourced by the host computer. The difference between the solutions lies in architecture.
All VMs contain the whole software and hardware stacks where the applications run, so the VMs puts a load onto the resources of the host computer. If more VMs are running, they have to share the RAM, CPU etc. of the host computer.
In contrast with VMs, the container only virtualizes the user interface instead of the whole stack, all other resources are common. As every container shares the host kernel with others, only the libraries, binaries and the user interface form part of the package, the virtualized hardware and OS do not. Comparing the two technologies, we must say that the container has a much smaller overhead than the VM.
What’s all this hype about the Docker technology?
- Easy to use
With the help of Docker anyone can develop and wrap an application even on their laptop and operate the application in a completely different environment. These applications usually run on cloud servers and they will operate from the cloud exactly as they would locally. At our company, Stylerc Inc, a lot of developers work remotely and Docker provides a perfect solution to enable this.
- Small and fast
Docker containers are small and fast as there is only a sandbox environment runs on a kernel that consumes low level of resources.
- Modular and can be scaled
Our application can easily be split into various containers with Docker.
- Available for almost any platforms
Docker is available for all operating systems (Windows, OsX, Linux) allowing a wide range of usage. As Stylers mostly works on Linux, Docker meets our needs.
As far as the disadvantages go, we need to mention that Docker has so many practical uses, but lacks documentation. Users have to discover solutions on their own. This can be time-consuming, but that is not a surprise in our world of IT.