1.

How Exactly Containers (docker In Our Case) Are Different From Hypervisor Virtualization (vsphere)? What Are The Benefits?

Answer»

To run an APPLICATION in virtualized environment (e.g. vSphere), we first need to create a VM, install an OS inside and only then deploy the application.To run same application in docker all you need is to deploy that application in Docker. There is no need of additional OS layer. You just deploy the application with its dependent libraries, the rest (kernel, ETC.) is provided by Docker engine.This table from a Docker official website shows it in a quite clear way.

ANOTHER benefit of Docker, from my perspective, is speed of deployment. Lets imagine a scenario:

ACME inc. NEEDS to virtualize application GOOD APP for testing purposes.

Conditions are:

  • Application should run in an isolated environment.
  • Application should be available to be redeployed at any moment in a very fast manner.

Solution 1.

In vSphere world what we would usually do, is:

  1. Deploy OS in a VM running on vSphere.
  2. Deploy an application inside OS.
  3. Create a template.
  4. Redeploy the template in case of need. Time of redeployment around 5-10 minutes.
  5. Sounds great! Having app up and running in an hour and then being able to redeploy it in 5 minutes.

Solution 2.

-Deploy Docker.
-Deploy the app GOODAPP in container.
-Redeploy the container with app when NEEDED.

Benefits: No need of deploying full OS for each instance of the application. Deploying a container takes seconds.

To run an application in virtualized environment (e.g. vSphere), we first need to create a VM, install an OS inside and only then deploy the application.To run same application in docker all you need is to deploy that application in Docker. There is no need of additional OS layer. You just deploy the application with its dependent libraries, the rest (kernel, etc.) is provided by Docker engine.This table from a Docker official website shows it in a quite clear way.

Another benefit of Docker, from my perspective, is speed of deployment. Lets imagine a scenario:

ACME inc. needs to virtualize application GOOD APP for testing purposes.

Conditions are:

Solution 1.

In vSphere world what we would usually do, is:

Solution 2.

-Deploy Docker.
-Deploy the app GOODAPP in container.
-Redeploy the container with app when needed.

Benefits: No need of deploying full OS for each instance of the application. Deploying a container takes seconds.



Discussion

No Comment Found