Config management
for the cloud

Felix Frank

OpenStack DACH Day 2016, Berlin

Presenting

This cat on stage:

Felix Frank

@felis_rex ffrank


old school Linux person

hobbyist programmer

Great to be here

It was a long way

2004

https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/NASA_Mars_Rover.jpg/390px-NASA_Mars_Rover.jpg

but also

http://www.desy.de/forschung/anlagen__projekte/hera/index_ger.html

http://www.desy.de/forschung/anlagen__projekte/tier_2/index_ger.html

http://www.rccomputers.com/2013/08/06/we-help-you-get-rid-of-that-old-computer-junk/

https://en.wikipedia.org/wiki/Perl

https://twitter.com/cfengine

early automation summarized

2009

http://www.thestate.com/latest-news/article102190417.html

mpex

ISP (Berlin)

https://community.spiceworks.com/topic/517887-how-do-you-stack-your-rack

https://www.digitalocean.com/community/tutorials/5-common-server-setups-for-your-web-application

https://www.ruby-lang.org/en/about/logo/

https://github.com/logos

Infrastructure as code

http://www.clipartkid.com/stock-photos-programming-source-code-a26erW-clipart/

http://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Data_Center/App_Networking/MS-windows-TS-DC.html

EPISODE IV

A New Hobby

And now here we are

http://imgur.com/Uvd6b4C

2016

http://www.esquire.com/news-politics/news/a37221/donald-trump-batman/

The unbelievable Machine Company

ISP, data specialists (Berlin)

This story follows the general trends in server operations.

Automation became pervasive to
more and more tasks.

Cloud computing is at
the apex of this evolution.

When software defines everything, almost anything becomes possible.

Tooling and technology evolve head to head.

Some abstractions are even on the way out.

Yet the VM will remain the backbone of any cloud stack for a while.

The cloud paradigm turned our pets into cattle.

Puppet and friends can deal, but it can feel clunky

Why do we even [Puppet]?

  1. Distinct resources which
  2. Check their respective state
  3. Sync if necessary

Puppet has defined a new standard for describing infrastructure

Some caveats, especially in distributed contexts

Performance: Resources are evaluated one by one

Master / PuppetDB can become a hotspot

Larger clusters can take
a long time to converge

Enter mgmt

written by James (RedHat)

Conceptually similar to Puppet

  • resource model
  • acyclic graph
  • import/export of resource data

Unique key features

  • parallel execution
  • event system
  • distributed exchange

Explained in James's blog

Parallel execution

vs.

Distributed exchange

As for the

Event system

...
Let's see a demo!

Looking at the topology once more...

Many innovative features apart from the core

Looking at some commodity features

There is support for Puppet manifests!

built by your's truly

Automatic edges

  • e.g. find systemd units in package file listings
  • find config file locations in packages
  • ...

Automatic grouping

E.g. handle independent package resources in one go vs.

Automatic clustering

etcd is bundled right into mgmt

mgmt creates ad hoc etcd clusters for you

Agent-less mode

a.k.a. that Ansible thing

We'd love to have you get involved!


https://github.com/purpleidea

Still on the slate:

The language

Still on the slate:

More resources

Still on the slate:

APIs (?)

Still on the slate:

Early vetting

Incentive:

Write in Go

Incentive:

Interface with systemd et al

Summarizing

Summarizing

  • mgmt runs with the core strengths of Puppet-like tools
  • its focus on the big Linux distros allows tight integration
  • events and a distributed message bus allow fast cluster convergence
  • provides new management approaches
  • currently pre-alpha, any contributions welcome

Questions