[Beowulf] Docker vs KVM paper by IBM
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
p: +1 734 786 8423 x121
c: +1 734 612 4615
More information about the Beowulf