Why you need to become a container expert
Containers are trendy. Is that sufficient reason to specialise in the things? In essence, of course, it is always interesting to stay up to date on upcoming technology. But when it comes to containers, there are additional arguments.
1. Virtual machines
If you want to follow the technology world closely, you can’t ignore containers. You might almost think that these days, everyone develops cloud native applications with microservices in mind. In practice, of course, that is not the case. The faithful old virtual machine is far from dead and has its own advantages. Nevertheless, there are positives to becoming a container expert.
Let’s first take a look at why containers are necessary. In the beginning, there was the physical server, with an operating system and an accompanying application. This approach was sufficient until Moore’s law meant that the processing power of even modest servers began to exceed the demand of many applications.
In the early 2000s, the solution appeared with virtualisation. The technology allows you to run several virtual computers on one physical server. Every virtual machine (VM) has its own operating system with an application. VMs have now become a commodity.
2. Light and flexible
Containers go a step further. A VM has to include a digital computer with its own operating system and soon reaches several gigabytes, even when only one simple application runs on it. The container resolves that problem by bagging an application that only has those components of the OS that are necessary to run the application. So a container weighs just a few megabytes.
You are familiar with the advantages: by definition, these things have an app and the related dependencies on board, so they are portable. Containers can be started up very easily and they are small, which benefits scalability. In addition, they encourage working with microservices. So you no longer have to develop a large, monolithic application. Instead, you build an application of various components that run individually in containers. These components can be easily processed and updated. That brings a bonus: if something goes wrong with one component, the entire underlying application does not go offline.
3. The downside
So why doesn’t everyone use containers today? Two major disadvantages stand in the way of adoption, and the second of these in particular makes it very attractive for developers to go into this technology in more depth.
The first disadvantage is technical and relates to security. Various VMs on one server are almost entirely separate from one another. In practice, applications from two different companies can run in the cloud on VMs on the same physical server without any risk. These things have their own OS and chat with their own virtualised version of the underlying hardware.
Containers admittedly have their own dependencies on board, but they share one operating system on a server. So this OS is only installed once, which makes the container so light and portable, but theoretically also involves a security risk. Anyone who can fiddle with the OS on which containers run can in theory invade all containers.
4. Disadvantage or advantage?
The second disadvantage is practical: containers are relatively new and few IT people are real experts in this field. So a developer with experience in cloud native development with containers is a very rare being. Organisations wishing to embrace containers come up against a shortage of qualified staff.
Perhaps an organisation wants to convert the legacy infrastructure into handy, future-proof container applications, but lacks available experts. And since the right profiles are rare, they come with a premium. The salaries are higher, so the applications are somewhat more expensive. That financial detail, combined with the bottleneck of availability, prevents large-scale adoption.
Annoying for companies, handy for you. Those with the right qualifications have a very popular profile, even among IT people who are already highly prized. Setting aside all the other advantages and disadvantage of containers, that is the main argument for honing your knowledge or keeping it up to standard.