Tutorial Series

Managing Development Environments with SaltStack

Default avatar
By Justin Ellingwood
Developer and author at DigitalOcean.
Managing Development Environments with SaltStack


SaltStack is a powerful remote execution tool and configuration management system. In this series, we will use Salt to configure reproducible development, staging, and production environments onto which we can deploy an application. This is primarily meant as a learning exercise to demonstrate some common Salt components and strategies that can be used to control your infrastructure.

Summary View
detailed View

Series Tutorials


Salt, or SaltStack, is a remote execution tool and configuration management system. Its remote execution capabilities allow administrators to run commands on various machines in parallel with a flexible targeting system. In this guide, we will discuss some of the basic concepts and terminology needed to begin learning Salt.


In this article, we’ll introduce the various environments we’ll be building out and install the Salt master daemon onto our primary server. This is the core system that will house our configuration instructions, control our infrastructure nodes, and manage our requirements.


In this guide, we will expand our Salt master’s reach by configuring the salt-cloud components. This will allow us to hook into our DigitalOcean account to spin up resources as necessary. We will be creating profiles that define the properties of our individual components and of our environments as a whole.


In this article, we will begin to dive into configuration management by creating Salt state files for Nginx. Nginx will be used on our web server nodes in all three environments in order to handle web requests.


In this guide, we will configure Salt states for the load balancer that will sit in front of our web servers in our staging and production environments. Our load balancers need to be configured with the web server addresses in order to correctly pass traffic.


In this guide, we will change our focus to create states that will install and manage our MySQL database servers in each of our environments. This article will cover the basic installation and setup of MySQL.

Check out all our Tutorial Series

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel