Chef and Docker @chefsummit London 2014

Between the DevOpsDays in Warsaw and Berlin Robert and I took a trip to the #Chefsummit in London. It had been a short trip indeed, however there are some things we would like to share with you, so read on ...

Wednesday morning: the first session I attended was amazingly enough about Docker. Everybody in then open space agreed on the fact that Docker is with no means a replacement for Chef. Instead it is integrating in a specific part of the deployment solution Chef is offering. A bunch of scenarios how people are using Chef in combination with Docker have been discussed. All in all the the combination of both varies from compiling and testing deliverables encapsulated in Docker containers to isolated services running as part of a platform.

Besides discussing the Docker container approach as such, it turned out that there is a huge demand for solutions answering the question of how Docker host cluster organization can be handled effectively. CoreOS is surely one of the key technologies that will play an important role in the future. Of course there are others like Project Atomic, for instance. Personally, I wouldn’t bet on Atomic at the moment as it seems that the development has been slowed down. This is of course just my impression, however I think a RHEL-based Docker cluster stack has some charming aspects. RHEL is sometimes a must in cooperate IT environments, so it would increase the acceptance level when introducing Docker. I collected a small list of Docker cluster solutions that are underway, some have been discussed in London. Check out the following candidates:

Kubernetes Googles answer to the Docker host cluster problem. It’s under heavy development at the moment and uses etcd to organize container groups. Such can be distributed across the entire cluster and will be monitored by Kubernetes along with service discovery, load-balancing, and replication control.

Fleet can be understand as an extension to systemd that operates on cluster level. Manages multiple Docker hosts as a cluster. It's based on etcd and systemd. It’s absolutely possible to use it without CoreOS. Definitely worth having a look at.

Flocker there is an interesting blog post about the idea of Flocker. What I don’t like about the post is the ELK example. Elasticsearch includes a good replication mechanism between nodes which makes the case rings hollow. Anyway: if moving volume containers between nodes works it would be just great. Note to myself: check it out.

Shipyard is build based on Citadel and provides resource constrains for CPU and memory. It comes with a web GUI as well as an API and commandline tool. Furthermore it is easy to install as a Docker container.

Additionally there are some off-the-shelf solutions that might be interesting:

Deis claims to be a lightweight Docker based PaaS following the Heroku principals.

Panamax Container sticking together made easy - this is the idea. It’s open source and well funded. If you are interested in some backgrounds listen to this The Cloudcast podcast.

Tumtum which is a commercial service organizing your containers in the cloud.

The thing I find very interesting about this open space round: Docker and Docker orchestration gets a lot of attention in the Chef community. It is important and has already an impact on Chef.