Containers: Everything you need to know

We take a look at what containers are, the options available and whether they’ll ever replace virtual machines

Containers have been one of the major themes in the IT industry over the past couple of years, following the rise to prominence of Docker and its namesake platform. Beneath all the names and buzzwords, the technology has found popularity because it meshes well with a need for greater efficiency and agility in development and IT operations.

Like many trends in IT, containers are not actually a new concept and have been around for many years in one form or another. Even within the realm of x86 servers, Virtuozzo (formerly part of Parallels) was offering a container platform 15 years ago targeted at hosting companies and service providers.

But it was Docker that popularised containers by pulling together a platform that provided the tools to develop and operate application code inside containers. The speed with which containers could be provisioned and deployed using Docker meant the platform quickly found favour among developers.

What are containers?

Containers are a form of virtualisation, but take a different approach to virtual machines. Instead of working at the level of the bare metal to carve up a server into multiple server instances, container platforms operate at the level of the operating system to create sandboxed spaces within which different applications can run. A container can thus be thought of as a chunk of memory reserved for a specific application or piece of code, isolated from other containers on the same system.

With virtualisation, each virtual machine needs to have its own complete operating system in addition to the application it is operating. With container environments, every container sits atop the same operating system kernel, each holding just the specific code libraries necessary to support its own application code.

As a consequence, containers are speedier to deploy, because they do not require an entire virtual machine and its operating system to spin up. They also consume fewer resources, and thus enable a server to handle a greater number of separate workloads in containers than if the same workloads were inside virtual machines.

To continue reading this article register now