23 enero 2017

Containers and VMware

I´ve heard a lot of times in the last months about the containers will replace the virtual machines but nothing could be more untrue.
This kind of conversations come from the lack of knowledge about the different technologies and a bit of misunderstanding about what we can do with VMs or containers.

A container is an isolation unit of the kernel from the kernel subsystem but linked or bound to the same kernel where it was created or run. Nowadays, there are a lot of companies that develop container technologies: Docker, Rocket, Garden, etc.



Now, let´s review about what Docker is explained by VMware as it is the most famous container runtime: "Docker is not a container technology. It uses Libcontainer directly or in conjunction with LXC, libvert, OpenVZ, and others. Docker introduced the idea of creating images out of containers.  These images reside on a layered filesystem.  Each layer consists of a change made to a container.  This allows for quick image updates and downloading of new images.  You can build an image from a container that you created or you can download an existing image, update it and then commit the changes into a new image.  These images can reside locally in a private registry like VMware Harbor or in a publicly available registry, like DockerHub"


So, what's about VMware? how VMware can help in this new container technology wave? One of the best approach is join the best of both worlds: VMs and Containers.

In the next image you can see the stack for VMware: storage VSAN, network NSX, hypervisor vSphere, containers VCH and mgmt with vRealize... at the end operations an developer world fits into the same datacenter.  


To accomplish that, VMware had developed different open-source projects. You can find all of them in Github: Admiral, Harbor and vSphere Integrated Containers:

vSphere Integrated Containers (VIC) is the add of three components: Engine, Harbor and Admiral.
Admiral is the container management portal.
Harbor is the container registry for containers.


An important piece of VIC is Photon: "an OSS based linux container host runtime optimized for VMware vSphere"  https://vmware.github.io/photon/ 
How all this projects fits together? check this schema to understand how: VIC Engine + Admiral + Harbor


At the end of the day, what you will get is that with VIC containers will be created in vSphere as  virtual machines so you will be able to apply most of the features in vSphere to them (functions, monitoring, automation, security, networking, etc) in a transparent fashion for the developers as they will continue to use API to create containers, apps, and so on.  You win visibility of the container environment as VMs, which is critical to manage a infrastructure.


Last but least, just to clarify, "vSphere Integrated Containers is available to all vSphere 6.0 and above Enterprise Plus customers. There is no additional license subscription required to use vSphere Integrated Containers. You can download it from myvmware.com"