[Beowulf] Docker vs KVM paper by IBM

Joe Landman landman at scalableinformatics.com
Wed Jan 28 10:32:45 PST 2015

On 1/28/15, 1:19 PM, Gavin W. Burris wrote:
> You've got it all wrong, Joe.  I repeat... Docker is a great enabler!
> Don't all of your researchers yearn to be sysadmins?  Don't all
> sysadmins yearn to be done with OS issues in order to free up more time
> to chase amber lights on hardware?

I think you are conflating Jason and I.

And above and below you are missing the point.

> But seriously, more options are a good thing.  Docker is all about
> options.  There are serious pitfalls, though, when application
> developers are making distributions that have hard dependencies on an
> entire OS container.  Sure, distribute your container, but also consider

The beautiful thing about Docker (theory) is that it does not have "hard 
dependencies upon the entire OS container".  The implementation is 
getting there, but its pretty close to this right now.

That is, you can package/distribute applications WITHOUT worrying about 
the "OS container", dependencies, etc.

FWIW, I've been calling this a "substrate" in the VM context (you run a 
KVM etc. on a substrate machine, providing a core OS set of services).  
Unless of course, you want to talk about containers within containers 
... but that makes little sense.

> writing code that can be compiled easily in a self-contained directory
> like a home directory.

As I pointed out above, the reason for the existence of Docker, and VMs 
are that people whom need more careful control over library/OS/... 
versioning can get it with Docker/VMs than you can "compiled easily in a 
self-contained directory."  In fact, its because there are people for 
whom changing a critical library on a system shared by many other code 
is so repugnant a concept, that you need a way to isolate this from the 
rest of the system.

Docker, and VMs are all about isolation.   You might argue home 
directories are as well, but its a very different level of isolation, 
and shifts work in a painful way for many users.

Docker/VMs allow you to package your app, once, and be done with it.  
New app, new package.  Packaging can be done programmatically. Need a 
version of a library your sysadmin has told you will never be allowed on 
the system because its not distro approved?  Fine, container/VM-ize it.  
Only your code/environment is at "risk."  Need to install HP-MPI (c'mon, 
we've all run into vendor apps that were built against one very esoteric 
version of the library ... ) to run your code?  Sure, do it in a container.

You are of course welcome to continue to do what you've done all 
along.   As you are a sysadmin, I wonder why you are arguing against 
something that should be making your life easier/better.


Joseph Landman, Ph.D
Founder and CEO
Scalable Informatics, Inc.
e: landman at scalableinformatics.com
w: http://scalableinformatics.com
t: @scalableinfo
p: +1 734 786 8423 x121
c: +1 734 612 4615

More information about the Beowulf mailing list