Configuration Management Week: SaltStack

Today’s guest post is by Greg Bell. View the full Configuration Management Week schedule here.

About Greg

Greetings! I’m Greg Bell, a Cloud Automation Developer at the Greenville, SC office of Infor, a software company specializing in Enterprise Solutions. I speak Data Center, Systems Engineering and Virtual Technology. IT is a passion but I @iGeektoLive.

Intro to SaltStack

Overview

saltstackSaltStack was developed by Thomas Hatch, CTO and co-founder. Tom is one of the most active contributors in the open-source community. I had the good fortune of having lunch with him and several members of his development team on the last day of SaltConf15 in Salt Lake City Utah earlier this year. He clearly has a passion for making the best software available to manage computers of almost any kind. You may have heard of one of SaltStack’s earliest customers: LinkedIn. They have thousands of servers all managed by SaltStack.

Salt is a different approach to infrastructure management, founded on the idea that high-speed communication with large numbers of systems can open up new capabilities. This approach makes Salt a powerful multitasking system that can solve many specific problems in an infrastructure. The backbone of Salt is the remote execution engine, which creates a high-speed, secure and bi-directional communication net for groups of systems. Riding on top of this system, Salt provides a very fast, flexible, and easy-to-use configuration management system called Salt States.

GETTING STARTED WITH SALTSTACK

INSTALLING SALT

SaltStack has been made to be very easy to install and get started. The installation documents contain instructions for all supported platforms.

STARTING SALT

Salt functions on a master/minion topology. A master server acts as a central control bus for the clients, which are called minions. The minions connect back to the master.

SETTING UP THE SALT MASTER

Install the master software and synch it with your favorite software repository. Create some roles which are used to match “grains” and distribute your required code.

SETTING UP THE SALT MINION

Install the client software, point it at the Salt Master and you are on your way.

COOLEST FEATURES

It’s difficult to select just one. However besides its versatility, SaltStack can be run in both master and masterless modes. You can develop your states, scripts and processes on a laptop and fully test their functionality before you deploy production code. No wasted time waiting on approvals that can take hours or days to get merged into your test branch.

More than just a Configuration Management tool, SaltStack is a complete Orchestration and Automation Platform. SaltStack makes systems management software built for cloud scale, DevOps speed and modern infrastructure complexity.
Don’t just take my word for it, SaltStack was awarded one of Gartner’s 2013 Cool Vendors in DevOps. One specific focus for some IT organizations is the shift toward configuration as code. DevOps borrows from the fact that as developers code applications with business logic, the infrastructure can be coded via configuration logic or directives. I most look forward to integrating most if not all of SaltStacks powerful features into all of our platforms.

BIGGEST DRAWBACK

If was writing this article about a year ago, I would be cursing SaltStack rather than singing its praises. I will never forget the day my Director walked in to my office and stated with a huge smile on his face that he wanted me to be the “Salt Subject Matter Expert” for our Storage and Database team. My complete volume of knowledge related to Salt was sprinkled on my two fried eggs I had for breakfast.

SaltStack was built and developed on the LINUX OS. And since my first language was Windows, there was bound to be a language barrier. Though improvements are constantly being made to their documentation, its examples were also written in LINUX command line making the conversion process somewhat tedious. SaltStack can make native calls to LINUX systems, unlike Windows that has to pull multiple applications together to make a coherent information flow. A good example would be PowerShell and disk management. PowerShell 4 has many disk management cmdlets; however to create a disk stripe, you must call Diskpart. But I digress. With SaltStack, however, LINUX disk management is a snap. I can build and configure a system from end to end easily.

At SaltConf15 the development team announced that they had just hired a full time Windows engineer, so I suspect the integration lines will start to blur sooner rather than later.

FURTHER READING:

SaltAir

The SaltStack YouTube channel is filled with Salt videos and presentations

Developing Salt

Get it on GitHub
Development documentation

Google Group Mailing List

Share the experience with the open source community

Configuration Management Week: SaltStack

One thought on “Configuration Management Week: SaltStack

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s