Introduction of Virtualization and Containerization – Part I

During the last four-five years cloud and distributed computing were one of the most in-demand technology. Containerization is one of the trendiest technologies during the years. Due to newest and modern technology, there’s a lack researching and study material available on the Internet. Containerization can be confusing this time, but we will try to help you to understand as simple as we can do.

Before we talking about Containerization you must have basic background knowledge of Virtualization then it will be easy to understand the Docker or you can containerization.

What is Virtualization

The simple meaning of virtualization is to create Hardware or Operating System which is work like physical hardware or computer but it does not physically exist. The most common form of virtualization is Operating System-Level Virtualization (OSLV). In OSLV it is possible to run multiple operating systems in a single physical hardware. Each virtual machine works like a unique physical device, capable of running its own OS. Operating System that installed in physical hardware known as Host Operating System and virtually deployed know as Guest Operating System. To create a virtual environment, we need Virtualization software like VMware Oracle VirtualBox, VSphere, etc.  

What is Docker:

Docker or Docker Engine is a computer program or you can say a tool that easier to build, deploy and works as Operating System-Level Virtualization, described as Containerization. Docker is one of the greatest inventions or platforms developed for System Admin and Developer to deploy and run the application within the application-specific requirements.

In Docker virtualization, only requires a Hardware with an Operating system (you can say Host Operating System) that might be the various taste of Windows or Linux or Mac then Install Docker Engine. You won’t have to provide a virtualized Motherboard, CPU, memory and so on.

Docker Containers

To understand Containerization, let’s take an example of the traditional Shipping Industry, how they transport different goods having different sizes and shapes and their requirements to transport different locations in the world. The challenge was to deliver things as the basis of requirement, suppose if need to ship a vehicle, food items, furniture, electronic goods, etc. there must be thinking about packing, shipping medium, expert labour etc.

They solve their problems with the container. The container is standard boxes where the goods can be packed in a standard way. Using containers there is no need to worried about how the container will be delivering through air or water, it’s a very efficient way to deliver goods.

Let’s look Docker Container, Software is not just a single line or piece of code there is an entire Software Stack like Front/Back End Component, Libraries, Databases, Server and other dependencies. At Deployment Stage, we must ensure that applications work on a different and wide range of platforms.

The container is nothing but like a virtualization machine that deploy or run as application-specific requirements such as libraries or binaries or other dependencies. Containers share the machine’s OS system kernel so there is no requirement of an OS per application.  The main difference between Container and Virtual machine is while deployment Virtual Machine or Guest OS we need to allocate a number of GB’s memory, Motherboard and other hardware requirement but in Containerization, there is only need a Host Operating system and Docker Engine.

Suppose we have to deploy an environment that requires 800MB RAM and 3.5 Gb storage memory so we need to allocate the fix memory and hardware that minimum requirement of OS. If we want to run any application in Windows 10 so we must have to provide a minimum 2.5Gb of RAM and storage memory rest of hardware requirement. So there’s a wastage of memory and resource occurs and if the requirements of run multiple application so there’s more machine more memory wastage but in Containerization, there’s no need to install unnecessary libraries and files that won’t require for a specific task.

Docker Containerization only requires a Host Operating System having Docker Engine. Docker Engine is the tool to create and manage Docker containers. The container allows us to package all the necessary libraries and other dependencies that our application needs as a single package. Each container has a different OS running on the Same Physical Machine so any changes made on these containers do not affect the other container.

Shahrukh Rafeeq

I'm an Entrepreneur, Freelance Security Consultant, Bug Hunter having years of experience with a deep interest in InfoSec Industry. I love to speak and write about web and mobile application pen-testing, bug bounty. You can reach me at

Leave a Reply

Your email address will not be published. Required fields are marked *