Virtual environments that are built with container-based virtualization technology and Unix-based systems are widespread in the field of web development. This solution allows development to happen in a simple virtual environment that is very similar to the production infrastructure. Stylers Group developers Nagy Gábor and Nagy Szilveszter shared the advantages of working with Docker, which can be learned through Braining Hub during corporate trainings and workshops:
Building complete virtual machines has long been a widespread practice, but many unnecessary details are also created in these cases.
“A complete operating system needs to be built for traditional virtual machines and Paint will also be a part of it – so there are many things inside them that are not really useful for completing a given task,” – Gábor said on the subject. “On the contrary, Docker virtually detaches layers in the system relying on the kernel of the host operating system, so it creates isolated virtual environments.”
Making full use of all the possibilities within a single computer
The advantage of this solution, compared to old-fashioned scaling, is that hardware resources can be maximized. Instead of multiplying computers, we can make use of the possibilities within a single one. As Szilveszter said, “There is no need for creating a complete virtual operating system because we are not talking about multiple computers but service components.”
One of Docker’s disadvantages comes from its advantage: there is no 100% isolation from the host computer compared to traditional virtual machines. With traditional virtual machines, you can run different operating systems in isolated environments. There are some security gaps, but they are fixed continuously and many articles on the internet help developers trace where the problems are.
As such, Docker can be useful during updates or when your product is going live. If we don’t want to update all components, Docker works as a three-legged chair: after removing one leg, the application can run stable on the remaining legs.
If you have the knowledge, it’s almost mandatory to use it
According to Szilveszter and Gábor, there are virtually no projects at Stylers where Docker isn’t used. Docker simply makes the life of developers that much easier. Moreover, it is spreading rapidly in the industry. In the past six months, many services were built using Docker, which also helped smoother functioning in the Mac OS. On top of this, more software is getting launched as ready Docker images.
Both Szilveszter and Gábor, two experienced developers, admitted that there may be difficulties.
From Gábor: “Docker is easy to misuse – this is why thorough knowledge is important. What can be done by a well-built Docker image within ten seconds could take an hour if something goes wrong.”
Both developers agreed that acquiring Docker knowledge is not particularly difficult. Of course, this depends on the given person. Basic knowledge of IT, system administration, DevOps and Linux/Unix are a solid foundation for starting.
“I don’t think that being on a senior level is needed,” Gábor said. “A well-trained junior also can get into Docker.”
More and more popular: learning materials tailored to client request
At Braining Hub, the length of a Docker training course depends on the client’s request and their objective. It’s important to understand the reasoning behind taking the course. Depending on the purpose, a 2×8 hour course can be just as useful as a 5×8 hour one – if students need to start from the basics, more hours are typical. However, our participants often have existing knowledge about this topic.
The maximum number of course participants is 15 people. This way, there is no loss of focus during these especially practice-oriented sessions. The training can take place at the client’s office if needed – experience shows that this demand is more prevalent among larger groups (above 3-4 people). Smaller groups usually come to Braining Hub’s training sites.
As Docker’s popularity and ongoing development increases, Braining Hub will continue to provide training courses that are tailored to our clients’ requirements.