Virtualization or Containerization

study by 451 Research, asserted that use of application containers will grow by 40% annually thru 2020. Containers are increasingly significantly enabling rapid and agile development and presenting possibly a complete alternative to virtualization and at least another significant tool to be considered in maximizing your resource usage and lowering costs. However, a few questions remain around container basics:

  • How do they differ from virtual machines?
  • If containers are transitory and disposable, how can they be used alongside persistent storage?
  • How do containers complement existing virtualization and orchestration solutions?

Without a doubt virtual machine technology has been revolutionized the server infrastructure world and has become the de facto standard for almost all IT infrastructures. Virtualisation, through enabling abstraction of hardware resources, breaks a ‘real server’ into multiple virtual machines whilst allowing each VM to behave as an independent server.

Whilst the VM Revolution undoubtedly delivered on its promises, containerisation is quickly becoming the new go-to technology and perhaps is moving us to the dawn of another new technology revolution and this time the whole IT sector; hardware, software, and development paradigms, will be unrecognisably transformed.

Containerization is currently the hottest infrastructure technology and it is arguably being adopted faster than any other technology in history.

 

A Layman’s Description Of VMs and Containers?

A VM runs a unique instance of a guest operating system, meaning that VMs with different operating systems can run on the same ‘real server’; therefore UNIX VM can exist alongside a Linux VM, a Windows Server VM etc. Each VM has its own binaries, libraries, and applications that it services. Note that due to this ‘architecture’ a VM can be many gigabytes in size.

Containers sit on atop a physical server and the servers host OS, whether that be e.g. Linux or Windows. Each container shares the host OS kernel and usually also the  binaries and libraries. These shared components are read-only. Containers are therefore extremely “light weight”; usually being only megabytes in size and taking seconds to start, versus the gigabytes and minutes required for a VM.

The primary difference between these technologies is that containers remove the hyper-visor abstraction layer and provide a way to virtualise the OS allowing multiple workloads to run on a single OS instance. With VMs, the hardware is being virtualized to run multiple OS instances. Although quite different solutions, the speed, agility, and portability of containerization technology solutions make them a very significant tool in maximizing resource utilization and costs.

In fact the global VM solutions providers such as VM Ware have felt so threatened by containerization technology that they have been rapidly moving into this space with their Kubernites supporting Pivotal Container Services  with recent massive increase in uptake of their Network Virtualisation and Security Platform in support of software defined date-center container usage!

 

A simple look at a Docker Container vs Visualization layer structures

containers

What Do We At C-NEST Think?

Well as technologists we love this stuff but we need to see value in technology solutions for our clients before we get really excited about it;  technology for the sake of technology does nothing for our business or our clients – but that is why we are still excited by and love containerization technologies.

Clients can take advantage of this technology using Open Source solutions or the ‘free’ versions of solutions available from leading VM and Container solutions providers and this in conjunction with Open Source or ‘free’ versions of container supporting cloud orchestrators can bring all of these cost and resource benefits to our clients and that is why we really like this technology!

PS If you’re really interested in this stuff, I’ll shortly post links to really in-depth ‘academic’ papers that go into a lot of depth on the pros/cons, performance comparisons  etc of VMs and Containers.