This year's VMworld will be full of news. It's not secret now that one of the announces is VMware Docker Integration. The news is publicly available via this link of VMworld session – SDDC3350 – VMware and Docker – Better Together.
This and other news from the conference will be “raining” during the days to come. If you're not attending the US conference, you can still register for VMworld in Barcelona. Check my VMworld 2014 page for news, sweepstakes and discounts. I'll be attending European VMworld conference in Barcelona so stay tuned and follow the news at my VMworld 2014 page.
Docker is one of the fastest growing Open source technology which allows to run applications in containers. That's why the term “containerize” applications. The apps runs all along with their dependencies in a container. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers. You can think of Docker containers as a lightweight VMs.
I found a good image which illustrates what Docker does, which comes from a Slideshare presentation. The image is the illustration of a book called The dockerbook .
You can read some details through the VMworld Session by Chris Wolf (VMware) and Ben Golub (Docker). The session's name is VMware and Docker – Better Together.
…deep insights into the VMware and Docker collective strategy. As technology evolves, use cases will abound for VMs, containers, and combinations of each. Key elements of the Docker platform – Docker Engine and Docker Hub – are explored, along with specific vCloud Suite integrations. Attendees will leave this session with knowledge of highly differentiated VMware and Docker integration points that provide leading flexibility, performance, security, scalability, and management capabilities
What allows Docker?
- Container virtualization
- Build, pack, ship and run applications as containers
- Build once, run in many places
- Isolated and content agnostic
What's the difference between a VM and Docker?
Better to show some graphics. As you can see Docker is much more efficient as it does not include the underlying OS weighting several Gb, just the container.
Image from Docker's site:
The Docker Engine container comprises just the application and its dependencies. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but is much more portable and efficient.
What applications can be run inside of the containers?
If you think that building an app for Docker is difficulty you should check first Docker Hub, where there is already over 1400 apps ready to go.
Docker Hub provides a wide range of services for distributed applications, including container image distribution and change management, user and team collaboration, lifecycle workflow automation, and third-party services integration
Image from Docker's Blog:
I think the best way to get more infor on Docker is to go to their site. It's exciting stuff.
The VMware integration details will be announced during the session listed above but one would certainly not be surprised to see a full VMware integration of Docker through an UI and vSphere Web client. That Docker will be deployed by VMware administrators simple way, similar way as it's planned with for example OpenStack.
Actually I would not be surprised that Docker is the next target of VMware acquisitions. Recent acquisition of CloudVolumes which is very very similar to Docker as it allows fast provisioning of applications to Windows VMs (without installing them in a VM). Works by attaching external VMDK, which has the app installed, to the VM…. but this will be detailed in another post.
Update: The program has a name! Its name is Project Fargo.
The VMware Docker integration does not has only single VMworld Session. Here are all sessions concerning Docker and VMware:
- SDDC3327 – The Software-defined Datacenter, VMs, and Containers: A “Better Together” Story: Presented by yours truly, this session will expand on this blog in laying out our high-level viewpoint and perspective on how VMs and containers are better together.
- SDDC3350 – VMware and Docker – Better Together: This session, presented by Chris Wolf, VMware’s CTO for Americas, and Docker CEO Ben Golub, will focus on highly differentiated VMware and Docker integration points that provide leading flexibility, performance, security, scalability, and management capabilities.
- NET1949 – VMware NSX for Docker, Containers & Mesos: This session will provide a recipe for architecting massively elastic applications leveraging NSX and containers.
- OPT2668 – DevOps Demystified! Proven Architectures to Support DevOps Initiatives: This session will answer how you plug DevOps processes into your existing vCloud Suite architecture.
- SDDC3281 – A DevOps Story: Unlocking the Power of Docker with the VMware platform and its ecosystem: This session dives into specifics of Docker and its vCloud Suite integrations.
Exciting times ahead! Stay tuned for more through Twitter (@vladan) and RSS
Kendrick Coleman says
I feel bad for anyone going to this session. There will be NO “integration” for a while. Two completely different technologies. It will be nothing short of smoke blowing to think that running containers on your virtual machines is a “strategy”. If the app/containers are designed correctly, scaled horizontally on multiple hosts/locations, then I’m negating my need to ever have a hypervisor.
Vladan SEGET says
I always thought that HA clusters and hypervisors are here to protect against hardware failure. The whole virtualization concept stands on it. The abstraction from the underlying hardware, moving workloads across cluster to optimize the hardware utilization…
Perhaps I’m missing something with Docker? Something about how those containers are protected against failure if the underlying host just dies? (if installed directly on the bare metal without hypervisor). One can perhaps duplicate the workloads on several hosts…
If installed in VMs, then those VMs remains portable and can still be protected via HA… So for me it makes sense, but again, I did not digg enough on Docker at all… -:)
john says
….maybe the “Buzz” around docker is “I don’t know how to install Linux apps, hey this thing looks like it makes it easy, now I can go be a Linux admin!”
Glenn Rosenberg says
The key point in Kendrick’s comment is “If the app/containers are designed correctly…”. Well designed cloud apps don’t need HA in the underlaying OS because they are like “cattle” not “pets”. The application itself assumes that the world is not perfect and that the underlaying hardware (compute, storage, network) might fail and that the application needs to be able to heal itself by spinning out one or more new instances.
Cloud apps also handle scale in a different way. They scale horizontally by creating more or less instances rather than scaling up/down by changing the CPU, memory, bandwidth, storage assigned to the instance that already exists – scale up/down being another thing made more flexible and dynamic by hypervisors.
Having said all of that we are still a long way from that perfect world and it will be some time before we see the end of our need for hypervisor based VMs. What I am hoping to see with the integration of technologies like vSphere and Docker is a more seamless way to manage my applications with the flexibility to choose the appropriate way to deploy, scale and assure that application based on business needs.
john says
CloudVolumes already has support for Linux as well…so it would be interesting to see how they would integrate docker….