Docker Containers & Virtual Machines: What you need to know

Posted by Eric Noriega

Nov 5, 2014 6:45:00 PM Cloud Enablement

Docker, in case you weren't aware, is a toolset for setting up, orchestrating and breaking down containers under Linux. (Other systems as well, but just Linux for now).


"What is a container?" -- you might then ask.  A container is a set of processes which have been isolated together by the Linux kernel.  The exact technologies are covered here, but the basic idea is that you can make a container, move it around, and replicate it.  You can start it up, and shut it down, and toss it out when you're done.  You can share it with your workmates, and publish it to the world.

Docker_Container_vs_Virtual_Machine2x

Containers get compared to virtualization quite often.  Some would declare it the end of virtual hosting, the container's speed and efficiency unmatched by any virtualization engine.  These qualities are true, but as with any abstraction, you pay a penalty either in clarity of thought, or time and effort.

shark1_copy

Containers are irrevocably tied to the kernel on which they run.  Lashed to the version of the underlying system calls and libraries.  This means fast speed of execution, and lean images.  The sharks in the compute pool.  Most of the tooling orient towards these strengths.  Hypervisor based guests on the other hand lumber along, carrying all of that bloat, multiple layers of abstraction, whole operating systems grinding away at the processor.  But they can move about, and answer a huge number of problems in terms of complex system orchestration.

It's possible that given enough time, containers can catch up to their hulkier brethren.  IT has, after all, had years of experience with a hypervisor.  To truly catch up with the abilities of a fully-virtualized application though would require one expensive proposition, re-factoring the application itself.  This is the real cost of moving to a fully containerized world.

shark2a

If only for that reason, why not use both?  The speed and density of docker containers riding on top of virtualized guests. Truly the best of both worlds.  The container gets portability, and the hypervisors gain speed in scaling and operation and much higher densities, as well as packaging of the instances.  For the forseeable future both technologies will exsist and be prevalent in the datatcenter.  They can be a fantastic compliment to each other.

Vizuri Blog

Posted by Eric Noriega

    
Request a Complimentary Docker Consultation

An Open View

Vizuri Blog

Subscribing to our blog is a great way to stay up to date with the latest information from Vizuri, as well as our strategic partners. We focus on providing a range of content that is practically useful and relevant from both a technical and business perspective.

We promise to respect your privacy.

×