If you are thinking those large rectangular metal boxes arriving at the ports and full of imported goods, please stop that thought and reset. This is not about those kind of containers.
A few years ago the IT industry exploded when virtualization came on the scene. Many years after, a lot of organizations have replaced their physical workloads with virtual ones by using server virtualization and consolidation. This technology basically allows you to efficiently utilize your physical computer resources by running multiple virtual copies on a single physical host.
Server virtualization actually solved the problem of server sprawl. It drastically shrunk the provisioning time for new applications and reduced the huge hardware and operating costs associated with running un-virtualized hardware.
However, server virtualization posed a different problem – VM sprawl. With time, our datacenters no longer had racks of physical servers consuming space. We had fewer physical servers because everything was now virtualized and we were gradually moving to a software defined datacenter (SDDC). The problem is our virtual datacenters now had lots of virtual machines (VMs) usually provisioned with one application per VM, after all a VM is easier and more flexible than a physical server and does not consume physical space in the datacentre. Each VM includes an entire operating system (OS) as well as the applications. Without proper IT management or control, it can be tedious to manage hundreds of VMs – software patches and updates will be a nightmare.
Containers solve this problem. Containers employ some kind of virtualization. They allow you virtualize on the OS-level rather than on the hardware (like hypervisors).
Bob Tarzey of Quocirca writes; “containers encapsulate discrete components of application logic provisioned only with the minimal resources needed to do their job.
Unlike virtual machines (VM), containers have no need for embedded operating systems (OS); calls are made for OS resources via an application programming interface (API).”
Containers are similar to virtual machines because they are both encapsulated and offer the same kind of resource allocation – but their architecture allows containers to be lightweight, portable and more efficient.
The diagram on the left shows the difference between containers and VMs. A container sits on a physical or virtual server and is installed on the host’s OS, e.g. CentOS 7 or Windows 10.
The container then shares the kernel of the host OS and its binaries and libraries. This makes containers extremely lightweight. They consume very little storage space and start up within seconds.
In conclusion, application containers will have a huge impact on the way IT operations are carried out and will bring a lot of advantages over virtual machines.
Containers make the management process much easier because they share a common OS, it is easier to apply OS patches, updates and bug fixes. On the downside, containers do not allow you to run a guest OS that is different from that of the host and currently do not offer better security than VMs.
Whatever the case, it is more likely that containers and virtualization will be seen to work together in the near future to increase isolation and provide greater security.
AUTHOR: Niyi Osibeluwo
- On October 7, 2016
- 0 Comments