Virtual machines ,containers and their Uses

Virtual machines ,containers and their Uses

Hey folks, this is my first blog in which I've explained about containerisation , virtualisation , how they work internally and their uses in brief. Since I'm a novice kindly bare with the errors if you find any in the blog . Feedbacks and recommendations are really appreciated.

Virtual machine

server_virtualization-traditional_virtual_architecture.jpg Previously, you would install one operating system on a device and dedicate the entire hard disc to that operating system. Being limited to utilising only one operating system on a single piece of hardware, such as having only a Windows or Linux server. Before virtualization, installing a single operating system would need installing two separate servers if you wanted to run both a linux and a windows servers for instance. This is where virtual machines come into play. Now, hypervisor is something that sits on top of hardware and is similar to an operating system but solely serves to split the resources on server. Vmware and virtualbox are the two most popular lousy hypervisors.Using a hypervisor, we may partition and allocate hardware resources to different operating systems based on our needs.


Docker is an open source platform for app development, shipping, and running. You may divide your apps from your infrastructure with the help of Docker, allowing for rapid software delivery. It can manage your infrastructure using Docker in the same manner that you manage your applications. You may drastically shorten the time between writing code and executing it in production by utilising Docker's methodology for shipping, testing, and deploying code quickly.

In Docker, we simply put one operating system on the entire hardware, such that one operating system has access to all our server has to offer.

Whereas virtual machine virtualises the hardware, docker virtualises the operating system.

Refer to the diagrams below that distinguish between Docker and VM for further clarity. On top of the hardware is a base operating system that runs Docker. We use this to virtualize components of our operating system so that we may run containers (which we will explore later in the article) on top of a single operating system.


container-vms.jpg Containers are standalone systems with their own operating system, CPU, memory allocation, and network. containers have been here for a long time , docker is just one of them.

Perks of using docker

Here are a few advantages of using Docker containers.

  1. Consistent Environment and light weight
  2. Speed and Agility
  3. Efficiently Management of Multi-Cloud Environments
  4. Security

Why industry is moving towards containers ?

Because it works on all machines, regardless of their configuration. So "that works on my machine!" is not a phrase you'll hear while working with Docker. Once written, it is effective everywhere. Because everything an app needs to be developed in a container is already included, distributing the docker image allows users to run the same software on their Machine without any further work, saving time and resources.Last but not least, it supports the micro-services structure (which is a topic that requires a complete another blog for its own but in brief it prevents a app from crashing when a part of application stops working).