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

Abstract

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.

Outline

Outline

  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

Requirements

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.

Comments

{{ errorMsg }}

You need to be a participant to comment.

Login to leave a comment