Demystifying the Docker
Container Tools Landscape
Jon Baier
Here’s our take on the capabilities of the top container
orchestration tools and where we see the market headed.
Orchestration Tool Landscape
There is a lot of movement, excitement and energy
around Docker and containers and a lot of eagerness
to adopt this new paradigm at least in development
and testing environments. So with all this excite-
ment, and developer adoption, organizations are
right to start looking at how they will manage their
container chaos.
Our goal is to help clarify where things stand and
what we can expect in the coming months.
One of the difficulties with the current tools are that
they only overlap in some areas and cannot be com-
pared, one-to-one, for their entire feature sets. While
many of the tools can be substituted for each other,
there are other cases where they can be used in con-
junction. In order to clear some of the fog (ship pun
intended) we assessed the tools against five key attri-
butes: high availability, scalability and real world
usage, ease of adoption, networking, and extensibility
beyond containers. In the last category we looked for
an ability to integrate with various development proj-
ects including those that are not container centric or
even related.
High Availability
Three features were selected here for their ease of
comparison and also their importance to implement-
ing HA specifically for clustering. First we look at
master failover, this includes the ability of a cluster
master to failover and also elect an existing machine
as a new master. The next feature we examined is
health checking or the ability for the system to know
when the application and cluster are truly available.
Lastly we looked at auto rescheduling on failure. If a
part of the cluster fails we want to know that our con-
tainer workload will be rescheduled and restarted.
Mesos has a high availability mode which uses Apache
ZooKeeper under the hood. In HA mode multiple mas-
ters are run. One active master, called the leader is
elected. In the event of the active master failing a new
master is elected. Swarm and Kubernetes both also
support a “Highly Available” Master setup. It’s not out
of the box, but there are guides for setting both up.
Swarm, Mesos and Kubernetes all have TCP/HTTP
methods for health checking. Command health
checking takes it a step further allowing for specific
commands to be executed and checked. K8s has sup-
ported this type of check natively for a while now.
Further Kubernetes has built-in constructs for ser-
vices and the health checks can be used to evaluate
which hosts are healthy enough to receive service
traffic. Mesos has support for command health
checks as well and recently fixed some of the issues
that previously prevented their use.
Finally, Mesos and K8s will both reschedule contain-
ers. In the event of a host failure a new healthy host is
WINTER 2016 | THE DOPPLER | 45