Review: Salt keeps server automation simple

Salt brings simplicity, flexibility, and high scalability to Linux and Unix server infrastructure management -- it does Windows too

Like Puppet, Chef, and Ansible, Salt is an open source server management and automation solution with commercial, officially supported options. Based on command-line-driven server and client services and utilities, Salt is primarily focused on Linux and Unix server management, though it offers significant Windows management capabilities as well. While Salt may look simple on its face, it's surprisingly powerful and extensible, and it has been designed to handle extremely large numbers of clients.

Salt uses a push method of communication with clients by default, though there's also a means to use SSH rather than locally installed clients. Using the default push method, the clients don't actively check in with a master server; rather, the master server reaches out to control or modify each client based on commands issued manually or through scheduling. But again, Salt can also operate in the other direction, with clients querying the master for updates. Salt functions asynchronously, and as such, it's very fast. It also incorporates an asynchronous file server for file deployments.

[ Review: Ansible orchestration is a veteran Unix admin's dream | Review: Chef cooks up configuration management | Review: Puppet Enterprise 3.0 pulls more strings | Puppet or Chef: The configuration management dilemma | Subscribe to InfoWorld's Data Center newsletter to stay on top of the latest developments. ]

Salt can be distilled into a few simple core concepts. You can issue raw commands to clients or groups of clients, or you can create YAML configuration templates called "states" to control the behavior of those clients. Further, you can extend and abstract functions and parameters through the use of extended templates called "pillars." All of this is combined with the capability to use a few different scripting interpreters to extend functionality through the use of Python or PyDSL (Python Domain Specific Language).

In addition to the free open source version, Salt is available in supported Professional and Enterprise versions (which are also completely open source) from SaltStack. SaltStack Enterprise costs $150 per node per year, with volume discounts and site licenses available.

Installing Salt

Salt is installed quite easily on Linux through Git or through the package manager for your distribution. You may have to add a repository, but after that, installing the master is generally as simple as issuing a yum install salt-master or apt-get install salt-master command. You can install the clients, called minions, in the same way.

On each minion, you can edit a hosts file to direct the minion to the master, or simply configure a DNS A record for Salt to point to the master's IP address. Generally, this is the simplest way to start.

InfoWorld Scorecard
Value (10.0%)
Scalability (20.0%)
Management (20.0%)
Availability (20.0%)
Interoperability (20.0%)
Performance (10.0%)
Overall Score (100%)
SaltStack Enterprise 0.17.0 9.0 9.0 9.0 9.0 8.0 9.0 8.8
1 2 3 4 5 6 7 Page 1
Page 1 of 7
InfoWorld Technology of the Year Awards 2023. Now open for entries!