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
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
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.
Most Popular Stories
- 2014 World Cup Official Noisemakers Quieter than Vuvuzelas
- Networks Vie for U.S. Hispanic TV Viewers
- Ad Counts Rise in 2013 for Hispanic Magazines
- Top Websites for U.S. Hispanics
- Saab Gets Back into the Game; U.S. Auto Sales Soar
- Dell Offers Undisclosed Number of Employee Buyouts
- Authorities Close to Deal with JPMorgan Chase over Madoff Response
- Apple Activates Customer-Tracking iBeacon
- 2013 Tech Gift Guide: iPad Mini Still Hot; Chromecast a Great Low-Cost Option
- A Biography of Jonathan Ive, Apple's Creative Chief