Are containers taking over?
Virtual machines have taken the spotlight on the telecom stage within the last few years, but the technology is by no means a one-man show. Containers, which predate virtual machines, have taken on an increasingly important role lately largely thanks to Docker. Major providers like Amazon Web Services, Red Hat, IBM and VMware have embraced containers with open arms. Consequently, discussion has promulgated the internet about whether containers are weeding out virtual machines.
What are containers?
Containers aren’t exactly new. They rose to stardom when, in 2013, Docker unveiled a new way to create, deploy and manage applications by isolating specific codes. The lightweight piece of software includes everything needed to run an application with code, runtime, system libraries and memory. Multiple containers can run on and share the resources of a single operating system kernel.
What are virtual machines?
A virtual machine is an operating system (OS) that fulfills various network functions on software instead of proprietary hardware. A hypervisor abstracts applications from the underlying computer hardware, which allocates resources like processor cycles, memory space and network bandwidth, to multiple virtual machines. With this technology, service providers can spin up various network functions running on expensive nodes automatically.
Why containers seem more popular
Containers are widely regarded as more effective than virtual machines because of how they allocate resources. The isolated environments of containers have all the necessary resources to run an application — and nothing more. The remaining resources can be used to run other applications. Because of this, containers can run two to three times as many applications on an individual server in comparison to virtual machines. In addition to increasing system efficiency, this allows users to save money by not having to invest in more servers for extensive multiple processes.
Another reason containers seem to be outcompeting virtual machines is the former can facilitate quicker boot up processes than the latter. A typical virtual machine can take up to a minute to boot and confirm its resources. By contrast, containers can perform the same task in a microsecond due to the abstraction of the operating system.
Why virtual machines aren’t out of a job
Although containers have several advantages over virtual machines, they are not without drawbacks. Perhaps the biggest problem with containers is security. Because containers use the same host operating system, it’s much easier for security breaches to gain access to the entire system in comparison to virtual machines. Moreover, since many container applications are available online, this opens up the window for additional security threats. Many of these applications are infected with malware, which has the potential to spread to the entire host operating system once they are installed. Furthermore, containers are not able to run non-native workloads.
Conclusion
Given that containers have their fair share of upsides and downsides, virtual machines aren’t likely to go anywhere anytime soon; and it’s likely they will never totally replace virtual machines. In practice, these technologies complement rather than compete with each other. Hybrid IT systems are currently being developed in order to take advantage of both tools.