SaltStack, now known as Salt, is an open-source configuration management and remote execution tool. It automates the deployment and management of infrastructure and software across diverse environments. Salt employs a scalable, event-driven approach, enabling fast and efficient orchestration of complex systems. Its architecture is designed to handle the management of a vast number of servers, devices, and systems with high speed and flexibility. SaltStack supports both push and pull communication models through its agentless and agent-based setups, making it adaptable to various IT environments.
Configuration Management tools help maintain a system in a desired state, and are mostly used to manage files, directories and various installations on an operating system, usually on multiple servers at once. They do so using code and configuration that is applied to different groups of servers. In some cases the Configuration Management tools are used to provision infrastructure, deploy applications, and manage the execution and configuration of various scripts.
With the rise of Infrastructure-as-Code tools for provisioning infrastructure (such as Terraform), and Orchestration tools for running containers (such as Kubernetes), the need for Configuration Management decreased as it was used mostly to configure Operating Systems and provision resources.
However, there are still use-cases where companies manage the servers' Operating System directly, and they do so using Configuration Management tools.
A number of examples where managing the servers directly is required:
There is also the case where companies started with Configuration Management as their main way of building a platform for the developers, and the coupling to the Configuration Management tool became too complicated to be worth "untangling" in the short-term or even mid-term.