This website uses cookies. By continuing to browse the site, you are agreeing to our use of cookies
Cloud
September 3, 2016
Our first post gave you a sneak preview of containers. A container is a type of virtualization like virtual machines or virtual memory. But the edge it has over VM is in its ability to virtualize not only the hardware resources like CPU and RAM but also the OS resources like file system, registry, process tree etc.
Hence it is also called OS virtualization.
Containers provide virtual environments similar to virtual machines but they aren’t virtual machines. Here are the core similarities and differences between containers and VM:
In simple words, a container is an execution of an application environment which can be persisted, versioned, packaged and shipped to different systems and then can quickly run on different systems without any installations or configuration set up. These containerized environments are lightweight, isolated and underlying OS dependents. The below picture depicts the stack view in VM and containers:
Now, let’s try to understand how containers perform their tasks. From the above figure, it’s evident that the container-based virtualization works at an operating system level. Thus, all the virtual instances share a single OS kernel. Also, for the purpose of isolation, dedicated multiple user-space instances are created for each container. As isolation is realized by using user space and not through a separate OS, container-based virtualization is expected to have weaker isolation than hypervisor-based virtualization. However for users, each container looks and executes exactly like a stand-alone OS. It achieves virtualization by engaging a set of techniques thereby fooling the running container/ application into believing that it’s the only container/ application running on the host even though there may be many others running simultaneously. These techniques are-
Before we wind-up this post and move further on our journey to discover containers, let’s have a quick comparison with its big brother VM. Following table compares VM and containers on some key parameters:
Parameters | Containers | VirtualMachines |
---|---|---|
Size</td\> | MB | GB |
Startuptime | Seconds | Minutes |
Density | 100-1000’s | 10’s |
Resource consumption | Verylightweight | IncreasedVMCPU,memoryand storage |
Performance | DirectKernelaccess | Hypervisorperformancepenalty |
Provisioning | Slow-inminutes | Fast– inseconds |
Images | Linux only (Windows under preview) | Linuxand Windows |
Security | SharedOSlesssecurethanVM’s | Hardware virtualization is more secure |
Management/ Orchestration | Containersprawlcanbeanissue Ex- Kubemetes, DockerSwarm andMesos |
More management mature ecosystem Ex-SystemCenter,vCenter |
But implementing this technology, though pretty useful, is no cake-walk as you will understand through our next post. But as usual, Hexaware will be there to guide you.
To know more about our strategic offering – Application Managed Services (AMS) – Click here.
Every outcome starts with a conversation