Slide 1

Slide 1 text

Provisioner A REST API for Ansible (a.k.a. poor man’s Ansible Tower) @vpetersson vpetersson.com

Slide 2

Slide 2 text

$ whoami • Geek and entrepreneur • Work full time on Screenly (digital signage for Raspberry Pi) • Background in the cloud industry @vpetersson vpetersson.com

Slide 3

Slide 3 text

Why? • Solves a business need for cloud.net / OnApp Federation • Simplifies best practice deployments • Single host and clusters • Golden images suck @vpetersson vpetersson.com

Slide 4

Slide 4 text

Design philosophy • KISS • (Easily) extendable yet curated • Use existing technologies • Agentless • No custom “base images” • Horizontally scalable @vpetersson vpetersson.com

Slide 5

Slide 5 text

Technologies • Ansible (d’oh) • Docker • Python + Bottle • Redis @vpetersson vpetersson.com

Slide 6

Slide 6 text

How it works @vpetersson vpetersson.com

Slide 7

Slide 7 text

lb api0 apiN redis worker0 api1 worker1 worker2 workerN @vpetersson vpetersson.com

Slide 8

Slide 8 text

Status • MVP / Beta • Used by cloud.net @vpetersson vpetersson.com

Slide 9

Slide 9 text

“Roles” • Docker • Docker Registry • Drupal • MariaDB (MySQL) • MongoDB • PostgreSQL • Redis • WordPress • MongoDB • NodeBB • Weave Net @vpetersson vpetersson.com

Slide 10

Slide 10 text

Demo (praise thy mighty demo gods) @vpetersson vpetersson.com

Slide 11

Slide 11 text

Roadmap and goals • Upgrade to Ansible 2 • Extend playbook library • Improve speed • Make service upgrades easier • Add more documentation • Kubernetes @vpetersson vpetersson.com

Slide 12

Slide 12 text

Resources • Provisioner on Github (https://github.com/OnApp/ provisioner) • “How Weave Net Enables a Global Docker Cluster with OnApp” (https://www.weave.works/weave- global-docker-cluster/) • This deck (https://speakerdeck.com/vpetersson/ provisioner-at-ansible-london) @vpetersson vpetersson.com