Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Provisioner @ Ansible London

Provisioner @ Ansible London

Provisioner is a REST API for Ansible (a.k.a. poor man's Ansible Tower). It was designed to eliminate application specific golden images and to make deployment of common applications easy at scale.

Viktor Petersson

May 18, 2016
Tweet

More Decks by Viktor Petersson

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. How it works
    @vpetersson
    vpetersson.com

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. 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

    View Slide