GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Moving away from Puppet: SaltStack or Ansible?
  • Ansible vs. Chef
  • Ansible and Salt: A Detailed Comparison
  • A quick guide to choosing infrastructure tools
  • An Ansible Tutorial
  • Getting Started with Ansible
  • An introduction to Ansible
  • Ansible and Linode
  • Introducing Ansible into Legacy Projects
  • Post-install steps with Ansible
  • 6 practices for super smooth Ansible experience
  • Create a Couchbase Cluster with Ansible

This view

  • Original page
  • New address

GeezerVison is showing www.fullstackpython.com — Configuration Management

Full Stack Python
All topics | Blog | Supporter's Edition | @fullstackpython | Facebook | What's new?

Configuration Management

Configuration management involves modifying servers from an existing state to a desired state and automating how an application is deployed.

Configuration management tools

Numerous tools exist to modify server state in a controlled way, including Puppet, Chef, SaltStack, and Ansible. Puppet and Chef are written in Ruby, while SaltStack and Ansible are written in Python.

Ad hoc tasks

Configuration management tools such as Chef, Puppet, Ansible, and SaltStack are not useful for performing ad hoc tasks that require interactive responses. Fabric and Invoke are used for interactive operations, such as querying the database from the Django manage.py shell.

Configuration management tool comparisons

  • Moving away from Puppet: SaltStack or Ansible? is an openly biased but detailed post on why to choose SaltStack over Ansible in certain situations.

  • Ansible vs. Chef is a comparsion of Ansible with the Chef configuration management tool.

  • This post on Ansible and Salt: A Detailed Comparison shows the differences between these two Python-powered tools.

Configuration management resources

  • A quick guide to choosing infrastructure tools presents a high-level overview of the categories of tools you will need to perform infrastructure-as-code in an organization.

Ansible configuration management

Ansible is an open source configuration management and application deployment tool built in Python.

Ansible Resources

  • An Ansible Tutorial is a fantastically detailed introduction on using Ansible to set up servers.

  • Getting Started with Ansible

  • An introduction to Ansible is a tutorial on the basics of getting started with the tool.

  • Ansible and Linode

  • Multi-factor SSH authentication with Ansible and Duo Security

  • Introducing Ansible into Legacy Projects

  • Post-install steps with Ansible

  • 6 practices for super smooth Ansible experience

  • Create a Couchbase Cluster with Ansible

  • Idempotence, convergence, and other silly fancy words we often use

Application dependencies learning checklist

  1. Learn about configuration management in the context of deployment automation and infrastructure-as-code.

  2. Pick a configuration management tool and stick with it. My recommendation is Ansible because it is by far the easiest tool to learn and use.

  3. Read your configuration management tool's documentation and, when necessary, the source code.

  4. Automate the configuration management and deployment for your project. Note that this is by far the most time consuming step in this checklist but will pay dividends every time you deploy your project.

  5. Hook the automated deployment tool into your existing deployment process.

What's next after automating your app configuration?

Can I automate testing and deployments for my app?

I want to learn more about app users via web analytics.

How do I integrate existing web APIs into my application?

Table of Contents

1. Introduction 2. Development Environments 3. Data 4. Web Development 5. Deployment Hosting Servers Static Content CDNs Virtual Private Servers Linode DigitalOcean Lightsail Platform-as-a-Service Heroku PythonAnywhere AWS CodeStar Operating Systems Ubuntu macOS Windows FreeBSD Web Servers Apache HTTP Server Nginx Caddy WSGI Servers Green Unicorn (Gunicorn) mod_wsgi uWSGI Continuous Integration Jenkins GoCD Configuration Management Ansible Salt Containers Docker Kubernetes Serverless AWS Lambda Azure Functions Google Cloud Functions 6. DevOps Changelog What Full Stack Means About the Author Future Directions Page Statuses ...or view the full table of contents.

Full Stack Python

Full Stack Python is an open book that explains concepts in plain language and provides helpful resources for those topics.
Updates via Twitter & Facebook.

Chapters

1. Introduction 2. Development Environments 3. Data 4. Web Development 5. Deployment » Configuration Management 6. DevOps Changelog What Full Stack Means About the Author Future Directions Page Statuses ...or view the full table of contents.

Matt Makai 2012-2022
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.