Containers Vs Virtual Machine

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Containers vs.

virtual machines

 Containers and virtual machines are very similar resource virtualization technologies.

 Virtualization is the process in which a system singular resource like RAM, CPU, Disk,
or Networking can be ‘virtualized’ and represented as multiple resources.

 The key differentiator between containers and virtual machines is that virtual machines
virtualize an entire machine down to the hardware layers and containers only virtualize
software layers above the operating system level.

Feature Virtual machine Container

Provides complete isolation from Typically provides lightweight isolation


the host operating system and other from the host and other containers, but
VMs. This is useful when a strong doesn't provide as strong a security
Isolation security boundary is critical, such boundary as a VM. (You can increase the
as hosting apps from competing security by using Hyper-V isolation
companies on the same server or mode to isolate each container in a
cluster. lightweight VM).

Runs a complete operating system Runs the user mode portion of an operating
Operating including the kernel, thus requiring system, and can be tailored to contain just
system more system resources (CPU, the needed services for your app, using
memory, and storage). fewer system resources.

Runs on the same operating system version


Guest Runs just about any operating as the host (Hyper-V isolation enables you
compatibility system inside the virtual machine to run earlier versions of the same OS in a
lightweight VM environment)

Deploy individual VMs by using


Deploy individual containers by using
Windows Admin Center or Hyper-
Docker via command line; deploy multiple
Deployment V Manager; deploy multiple VMs
containers by using an orchestrator such as
by using Power Shell or System
Azure Kubernetes Service.
Center Virtual Machine Manager.

Operating Download and install operating Updating or upgrading the operating system
system updates system updates on each VM. files within a container is the same:
and upgrades Installing a new operating system
version requires upgrading or often
just creating an entirely new VM. 1. Edit your container image's build file
This can be time-consuming, (known as a Dockerfile) to point to
especially if you have a lot of the latest version of the Windows
base image.
VMs...
2. Rebuild your container image with
this new base image.
3. Push the container image to your
container registry.
4. Redeploy using an orchestrator.
The orchestrator provides powerful
automation for doing this at scale..
Use a virtual hard disk (VHD) for Use Azure Disks for local storage for a
Persistent local storage for a single VM, or an single node, or Azure Files (SMB shares)
storage SMB file share for storage shared for storage shared by multiple nodes or
by multiple servers servers.

Containers themselves don't move; instead


Virtual machine load balancing
an orchestrator can automatically start or
Load balancing moves running VMs to other
stop containers on cluster nodes to manage
servers in a failover cluster.
changes in load and availability.

VMs can fail over to another server


If a cluster node fails, any containers
in a cluster, with the VM's
Fault tolerance running on it are rapidly recreated by the
operating system restarting on the
orchestrator on another cluster node.
new server.

Uses an isolated view of a virtual network


adapter, providing a little less
Networking Uses virtual network adapters.
virtualization–the host's firewall is shared
with containers–while using less resources.

You might also like