Docker, a
new container technology, is hotter than hot because it makes it possible to
get far more apps running on the same old servers
Containers, use shared operating
systems. That means they are much more efficient than hypervisors in system
resource terms. Instead of virtualizing hardware, containers rest on top of a
single Linux instance. This in turn means you can “leave behind the useless
99.9% VM junk, leaving you with a small, neat capsule containing your
application,”
Therefore , with
a perfectly tuned container system, you can have as many as four-to-six times
the number of server application instances as you can using Xen or KVM VMs on
the same hardware
Docker, however, is built on top of LXC.
Like with any container technology, as far as the program is concerned, it has
its own file system, storage, CPU, RAM, and so on. The key difference between
containers and VMs is that while the hypervisor abstracts an entire device,
containers just abstract the operating system kernel.
This,
in turn, means that one thing hypervisors can do that containers can’t is to
use different operating systems or kernels. So, for example, you can use
Microsoft Azure to run both instances of Windows Server 2012 and SUSE Linux Enterprise Server, at the same time.
With Docker, all containers must use the same operating system and kernel.
On the other hand, if all you want to
do is get the most server application instances running on the least amount of
hardware, you couldn't care less about running multiple operating system VMs.
If multiple copies of the same application are what you want, then you'll love
containers.
Docker brings several new things to the
table that the earlier technologies didn't. The first is that it's made
containers easier and safer to deploy and use than previous approaches. In
addition, because Docker's partnering with the other container powers,
including Canonical, Google, Red Hat, and Parallels, on its key open-source
component libcontainer , it's brought much-needed standardization to
containers.
Docker containers are easy to deploy in
a cloud. Docker has been designed in a way that it can be incorporated
into most DevOps
applications, including Puppet, Chef, Vagrant, and Ansible, or it
can be used on its own to manage development environments. The primary selling
point is that it simplifies many of the tasks typically done by these other
applications.

No comments:
Post a Comment