The Doppler Quarterly Winter 2016 | Page 47

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