Rootconf 2017

On service reliability

SaltStack and Ansible: beginner to advanced

Submitted by G. Clifford Williams (@gcw) on Feb 15, 2017

Section: Workshops Technical level: Beginner Status: Confirmed


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.


  • Zainab Bawa (@zainabbawa) Crew 3 years ago

    To complete the review, we need draft slides and link to a self-recorded video explaining what this workshop is about and why the audience should attend it. Also, is there link to a GitHub repo for this workshop? Please share this information, latest by Wednesday, 22 Feb.

    • G. Clifford Williams (@gcw) Proposer 3 years ago

      @zainbbawa, regarding github, I have not yet put together the exact curriculum for this class. I’ve taught both subsets and supersets of this material in the past: (see DevOps’ing on BSD) and
      as well as (see Novice to Advanced Salt on BSD). I’ll put the course material specifically for this conference and put it on github after I get confirmation that the session have been approved/selected and well in advance of the event. Here is an example from a previous session:

      For workshops I tend not to produce slides as everthing is interactive and hands-on. In the repository I will include step-by-step instructions that do not break down easily into slides but the totality of the information will be available.

      As for the video, my apologies but I have not had time to put one together. Is this for potential students to see or simply for the selection process?

  • Hari (ഹരി) (@haricm) 3 years ago

    Clifford, What’s the duration of this workshop?

    • G. Clifford Williams (@gcw) Proposer 3 years ago

      @haricm, The session is designed to be 6 hours in duration

Login to leave a comment