Rootconf 2017

On service reliability

G. Clifford Williams


SaltStack and Ansible: beginner to advanced

Submitted Feb 15, 2017

Let’s take a look at two popular orchestration and configuration management frameworks. We’ll compare and contrast them as we work through some examples learning how to deploy a simple application stack that will require managing users, installing packages, writing templates, and controlling services.



  1. Systems Engineering Challenges -- Introduction to the problem space
    • Inventory -- What do we have and what’s it doing?
    • Configuration -- What is it running and how is it running it?
    • Deployment -- What do we need to change to get it to run new stuff?
  2. Solutions
    • Historical view
      • Corporate offerings
      • OpenSource / Free Software
        • CFEngine
        • Puppet
        • Chef
  3. Ways to skin a cat -- Introduction to Fabric, SaltStack, and Ansible
    • Communications channels -- Message Queueing vs SSH
    • Execution Models
      • Agent vs Agent-less
      • Push vs Pull
    • Imperative vs Declarative
    • High level DevOps concepts
      • Infrastructure as code
      • Deterministic Builds/Deployments
      • Eventual Convergence and Anomaly Detection
      • Whiskey Tango Foxtrot is “Idempotent”
  4. Getting going
    • Fabric
      • Requirements
      • Installation
    • SaltStack
      • Requirements
      • Installation
      • Configuration
    • Ansible
      • Requirements
      • Installation
      • Configuration
    • Our first executions
      • remote command execution
    • Scripts/Recipies/States/Playbooks
      • Adding users
      • Installing software
      • distributing files
  5. Your Challenge (should you accept it)
    • Deploy a web application
      • python
        • setuptools
        • pip
      • web server - nginx
      • our application
        • pyramid and dependencies
        • application code
    • Rinse and repeat (with a different tool/framework)
  6. Open discussion
    • Observations
    • Likes/dislikes


Everyone will need to bring a computer with an ssh client and have very basic understanding of how to operate in a Unix environment.

Speaker bio

G. Clifford Williams is currently DevOps Practice Manager at 8ions, Inc. and is a longtime advocate of open source software, maintainer of the wempy template system and contributor to such projects as Cherokee, SaltStack, and Web2py. He provides hosting, consulting, and bootstrapping services for various startups focused on building opensource solutions.


{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

We care about site reliability, cloud costs, security and data privacy