Skip to main content

SaltStack

SaltStack is a configuration and management software and remote execution module based on the Python scripting language and available as open source software. The tool is oriented on the so-called “Infrastucture as a Code” (IAAC) approach. It is mainly used for the provision and management of cloud services and is in direct competition with the following tools:

[su_list icon=”icon: bell” icon_color=”#187bc0″ indent=”-5″]
  • Ansible
  • Chef
  • Puppet
[/su_list]

What is configuration management?

Configuration management is a so-called “system engineering process” that is often used in the field of modern software development. Configuration management continuously monitors the performance, functional and non-functional properties of a software product with its requirements and design throughout its lifecycle. This is to ensure that all processes are aligned and consistent.

General information

SaltStack was developed with the goal of enabling high-speed data collection and execution in systems management environments. US-based computer scientist Thomas S. Hatch first introduced Salt to the general public in a beta version on March 19, 2011. Thomas had previously developed several in-house solutions for organizations to solve the problem of high-speed data acquisition and execution, but due to various difficulties, this could not be implemented optimally. For this reason, Thomas decided to develop his own open source solution to this problem.

Design

SaltStack is designed to be modular and easily extensible, allowing customization for different applications. As part of the modular design, Python modules are used to enable certain functionalities within SaltStack. Moreover, this modular design allows the interactions between each module to be strictly separated, allowing for customization to meet the needs of developers as well as system administrators.

Module types at a glance

The system manages a variety of different module types that are responsible for providing specific functionality. Modules can be added dynamically to any system that is compatible with dynamic modules. Modules can be divided into six different groups, namely:

These are the base modules of the system that provide functionalities for direct execution of remote machines. These modules have cross-platform information and form the core of the system-level functionality.
The state modules are components that form the so-called “backend” for SaltStack. They execute the code necessary to set up, modify, or configure a target system.
This group is about modules that are used to discover static information about a system.
These modules are used to render and graphically display the information passed to the internal management system.
Remote execution calls executed by Salt are delimited from the calling system. This allows the generated return information to be passed back to any receiver.
Runners are the so-called “master convenience applications” that are executed with the run command.

Conclusion

Salt software evolved from a simple remote server management tool. Over the years, the tool has been continuously developed and enhanced with numerous new functions and features. Today, Salt is considered one of the most popular and widely used configuration management tools

.


Do you have any more questions?

Please contact us


Further contents