What is SaltStack
SaltStack is an Open-source, Python-based Configuration Management system which runs based on Event-driven messaging for IT Automation and Remote Task Executions. Among the Configuration Management Systems available in the market, SaltStack is one of the powerful Systems. The architecture of SaltStack is based on the remote execution of commands. Basically, it has Salt Master and Minions concept. Salt Master is a server that will send commands to Minions. Whereas Minion is a daemon application running in target machines that need to be configured. In this article, we will discuss what is SaltStack and SaltStack Architecture and Components.
Just like another Configuration Management system, SaltStack follows Client-Server Model. In which Master server will command the Minions (Client) servers to execute the commands from remote using SSH or Zero MQ. The main difference between the other Configuration Management system is, SaltStack is Architected as a Publisher-Subscriber model. Basically, the Publisher-Subscriber model is an Asynchronous network method that will never miss the instructions in the messaging queue. Salt Master will publish the instructions to Salt Minions.
Once the Minion receives the Instruction from the Salt Master, it will return the status of the executed Instruction. Both Salt Master and Salt Minions are connected with the Event Bus managed by the Zero MQ server.
Components of SaltStack Master
SaltStack master will have following component to make the configuration management system running.
Components of SaltStack Minions
Salt Minions or target Machines will have following important components that are making the configuration management system complete.
Just like any other Configuration Management tools, SaltStack will have the Configuration as Code called, Salt State which will give the complete state of the Target machine. This is again connected with the Salt Master and with Salt Executor, Salt State will be executed, and the entire state defined in the Salt state will be applied and created as Salt Minions.
In this article, we have discussed what is SaltStack and what are the components of SaltStack Architecture and Components, and how this SaltStack Works. In our upcoming article, we will discuss How to Install and Configure SaltStack in various Operating Systems. Later, we will discuss how to write execution modules and Minion State files in detail. Stay tuned and subscribe DigitalVarys for more articles and study materials on DevOps, Agile, DevSecOps, and App Development.
Experienced DevSecOps Practitioner, Tech Blogger, Expertise in Designing Solutions in Public and Private Cloud. Opensource Community Contributor.