Salt (software)

This article is about the configuration management software. For the cryptography library, see NaCl (software).
Salt (software)
Developer(s) Thomas S Hatch
Initial release 19 March 2011 (2011-03-19)
Stable release 2015.8.8[1] / 17 March 2016 (2016-03-17)
Written in Python
Operating system GNU/Linux, Unix-like, OS X, Windows
Type Configuration management and Infrastructure as Code
License Apache
Website saltstack.com

SaltStack platform or Salt is a Python-based open source configuration management software and remote execution engine. Supporting the "Infrastructure as Code" approach to deployment and cloud management, it competes primarily with Puppet, Chef, and Ansible.[2]

History

Salt originated from the need for high speed data collection and execution in system administration environments. The author of Salt, Thomas S Hatch, had previously created a number of in-house solutions for companies to solve the problem but found his and other open source solutions to be lacking.[3] Hatch decided to use the ZeroMQ messaging library to facilitate the high-speed requirements and built Salt using ZeroMQ for all networking layers.

In July 2014 (in "Helium" release) RAET reliable queuing transport system was added. It has been developed in partnership with a number of large enterprises to give Salt an alternative to ZeroMQ and a way to get Salt to scale well beyond tens of thousands of servers.[4]

States

In late May 2011, initial progress was made toward the development of adding a central configuration manager to Salt.[5] This configuration management system is based on storing all of the configuration or "state" data inside an easily understood data structure. While experimental functionality of the Salt State system was available in May, 2011, it was not considered stable until the release of Salt 0.9.3 in November, 2011.[6]

Design

Salt has been designed to be highly modular and easily extensible. The design goal is to make Salt easily moldable to diverse applications.[7]

The module design of Salt creates Python modules that handle certain aspects of the available Salt systems. These modules allow for the interactions within Salt to be detached and modified to suit the needs of a developer or system administrator.

Module types

The Salt system maintains many module types to manage specific actions. Modules can be added to any of the systems that support dynamic modules. These modules manage all of the remote execution and state management behavior of Salt. The modules can be separated into six groups:

Awards and nominations

SaltStack has been getting a lot of recognition since 2012 (see the full list):

See also

References

  1. GitHub release
  2. "Review: Puppet vs. Chef vs. Ansible vs. Salt". 2013-11-21.
  3. "FLOSS Weekly 191: Salt". TwitTV. Retrieved March 19, 2011.
  4. "Salt 2014.7.0 Release Notes - Codename Helium".
  5. "red45.wordpress.com salt configuration management". red45.wordpress.com. Retrieved May 29, 2011.
  6. "Salt Release Notes - 0.9.3". saltstack. Retrieved Nov 6, 2011.
  7. "FLOSS Weekly 191: Salt". TwitTV. Retrieved March 19, 2011.
  8. "salt documentation - Writing Modules". saltstack. Retrieved November 3, 2011.
  9. "salt documentation - Grains". saltstack. Retrieved November 3, 2011.
  10. "salt documentation - Renderers". saltstack. Retrieved November 3, 2011.
  11. "salt documentation - Returners". saltstack. Retrieved November 3, 2011.
  12. "salt documentation - Runners". saltstack. Retrieved November 3, 2011.
  13. "InfoWorld's 2014 Technology of the Year Award winners". InfoWorld.
  14. "The Matrix Of Hell And Two Open-Source Projects For The Emerging Agnostic Cloud". TechCrunch.
  15. "Black Duck Rookies of 2011". Black Duck. Retrieved January 18, 2012.
  16. "The Octoverse in 2012". GitHub. Retrieved January 10, 2013.

External links

Beginners tutorials

This article is issued from Wikipedia - version of the Saturday, April 16, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.