Virtual machines vs Dockers

Virtual machines vs Dockers

Virtual Machines

  • It’s another way of approach to creating an isolated and simulated environment.
  • It’s a process, that will create the virtual version of a software, operating system, server, or storage over the primary host.
  • The process of creating virtual machines is called virtualization.

Overview of Virtual Machine


  • A component that abstracts the hardware from the host server, such as CPU, storage, and networks, is called a Hypervisor. It manages the isolation function of the different VMs.?
  • Each VM has its infrastructure, such as virtual hardware, bins, and libraries.?
  • Guest OS manages the virtual hardware and resources given by the hypervisor.

Advantages of VM

  1. Strong isolation between VMs.
  2. Disaster recovery, Hypervisor encapsulates the entire server environment, by using a VM image, we can backup and restore the environment.

Virtual machines have a few downsides too,

  1. Performance degradation, because all are running in the same physical server.
  2. It consumes more resources because each VM contains its own guest OS, and it holds a lot of memory.

?

What's called Docker?

  • Docker is an open platform for running, developing, and Shipping applications.?
  • It helps you separate your application from the infrastructure so that you can move and deploy it anywhere.?
  • The developer can reproduce the consistent environment across different systems. So it has fixed environmental-related issues like system compatibility and versions related issues.

What's called Container?

  • Containers are lightweight, standalone, loosely isolated environments, and executable software packages that can run the whole applications including the code base, tools, and libraries.?

Overview of Docker


  • It includes everything to run an application independently from the host, not depending on what is installed.
  • Containers are sharable, we can share them with the developers, But make sure everyone gets the same container.
  • ?Docker is much more lightweight than VMs, it runs on top of the Host and resources. It doesn’t need any virtual OS and resources.
  • Instead of a hypervisor layer in VMs, here is Docker Daemon. It’s the communication layer between the host OS and containers.

Advantages of Docker:

  • Consistent over environments.
  • Faster startup time
  • Version control and rollbacks
  • Docker images are immutable and version-controlled, so version control and callbacks are much easier than VM.

Disadvantages of Docker

  • Complex to Manging more number of containers.
  • Need separate tools to monitor the containers.
  • It’s challenging to debug the Applications running in the dockers
  • It's not suitable for stateful applications. Because it requires more complex configurations data reliability and consistency.


Thanks for your time...!


Kannan Manoharan

VMware Certified Instructor & Microsoft Certified Trainer| 6x VCP (DCV,AM,NV,CMA,DTM,TKO) | VMware | Microsoft (Azure, Devops, AKS) | Spring Certified | Nutanix Certified | K8s | Docker | Microservices | Devops | Istio

9 个月

Very good content

要查看或添加评论,请登录

Nanthakumar D的更多文章

社区洞察

其他会员也浏览了