Brussels / 30 & 31 January 2016


Literate Devops for Configuration Management

DevOps complexity is rising out of control. Tools like Puppet, Chef and Ansible get combined with Vagrant, Docker and OpenShift. Mix in external logging, authentication services and apis (and api failure) to stir things up. Then add runtime dependency management through gems, pip and cpan, seasoned with OS distribution updates and CI.

The promise of tools like Puppet, Chef and Ansible is infrastructure as code, meaning that you describe your infrastructure through an executable specification. That gives you versioning and repeatability. For many the question is: How do I get a good Puppet/Chef/Ansible description.

Unfortunately it often goes like this: copy as many deployment recipes as needed, put them together in a file, and ready you are.

In this talk I'll describe a method to document and explain deployment recipes to yourself and others. The method is called Literate DevOps.

Literate DevOps is a simple method to document and explain your environment. It is based on the concept of literate programming and independent of your DevOps stack and tools. When you set up a new system, or modify an existing one, you'll need to document somehow the inner workings. With literate DevOps you can describe the system and at the same time include your executable code/playbooks (Puppet, Chef, Ansible) and its output into a live document.

The talk focuses on pragmatic advantages of Literate DevOps and I'll show examples to explain the workings of the method. You can think of Literate DevOps as a tool for understanding, documentation, helping and teaching.


Marc Hoffmann