Virtualization to Containers

Keshav Sharma
3 min readMar 3, 2021


Container adoption is growing rapidly in the enterprise. By 2023, more than 70% of global organizations will be more than two containerized applications in production.

What is Virtualization?

Virtualization is the process of creating a software-based, or virtual, representation such as virtual applications, servers, storage, and networks. It is the single most effective way to reduce IT expenses while boosting efficiency for all size businesses.

Benefits of Virtualization

Better Productivity:- We have not to worry about hardware, malware, and troubleshooting difficult problems. Using virtualization we have to simply clone and deploy new virtual machines.

Minimal Downtime:- Virtual machines are easy to provision and deploy. Because they allow for cloning, a replica is ready for use in minutes as opposed to the hours it typically takes to set up a new resource.

Better Security:- Virtual machines are logically operated from each other a malware attack and software glitch doesn't affect other virtual machines.

What are Containers:-

A container is operating system virtualization used to packages up all codes and all their dependencies so that applications run quickly and reliably from one container to another.

Containers are created from container images that represent the system, applications, and environment of the containers. Container's images act like templates for creating containers and one image can be used any longer to create any no of containers.

Container usage production deployment is constrained to Security, Monitoring Data management, and Networking.


We also hear that how much cybercrime is on the rise. Many well-known companies are affected by security breaches. Thus, Container came into the picture as the container image is immutable. It is easy to have them scanned for unknown vulnerabilities and exposures, so we increase applications' security.

If we can containerize any application, then we can also containerize, a database such as Oracle or MS SQL Server. Now, everyone who has ever had to install an Oracle database on a computer knows that this is not the easiest thing to do and it takes a lot of space away on your computer. You wouldn’t want to do that to your development laptop just to test whether the application you developed really works end to end. With containers at hand, I can run a full-blown relational database in a container as easily a. And when I’m done with testing, I can just stop and delete the container and the database is gone without leaving a trace on my computer. This is the real use case of a container.


High-level Architecture diagram of docker-engine

In the preceding diagram, we see three essential parts:

On the bottom, we have the Linux operating system

In the middle dark gray, we have the container runtime

On the top, we have the Docker engine.