SaltStack is an open-source configuration management and remote execution engine. It remotely executes commands across all machines.
It is a python based software. Thomas S Hatch is the creator and the principal architect of SaltStack.
SaltStack uses the ZeroMQ messaging library to process high-speed requirements for all networking layers. Salt is simple, scalable and fast.
Salt is a very powerful automation framework :
Salt architecture is based on the idea of executing commands remotely
All networking is designed around some aspect of remote execution
This could be as simple as asking a Remote Web Server to display a static Web page, or as complex as using a shell session to interactively issue commands against a remote server
Salt is an example of one of the more complex types of remote execution.
Salt is designed to allow users to explicitly target and issue commands to multiple machines directly :
Salt is based around the idea of a Master, which controls one or more Minions
Commands are normally issued from the Master to a target group of Minions, which then execute the tasks specified in the commands and then return the resulting data back to the Master
Communications between a master and minions occur over the ZeroMQ message bus
SaltStack modules communicate with the supported minion operating systems :
The Salt Master runs on Linux by default, but any operating system can be a minion, and currently Windows, VMware vSphere and BSD Unix variants are well supported
The Salt Master and the minions use keys to communicate
When a minion connects to a master for the first time, it automatically stores keys on the master
SaltStack also offers Salt SSH, which provides an “agent less” systems management
SaltStack is built for speed and scale :
This is why it is used to manage large infrastructures with tens of thousands of servers at LinkedIn, WikiMedia and Google
Imagine that you have multiple servers and want to execute commands on those servers
You would need to login to each one and do those things one at a time on each one and then you might want to do complicated things like installing software and then configuring that software based on some specific criteria
To overcome those issues, you would want to update all your servers at once, just by typing one single command
SaltStack provides you exactly the solution for all such problems
Features of SaltStack
• Fault tolerance − Salt minions can connect to multiple masters at one time by configuring the master configuration parameter as a YAML list of all the available masters. Any master can direct commands to the Salt infrastructure.
• Flexible − The entire management approach of Salt is very flexible. It can be implemented to follow the most popular systems management models such as Agent and Server, Agent-only, Server-only or all of the above in the same environment.
• Scalable Configuration Management − SaltStack is designed to handle ten thousand minions per master.
• Parallel Execution model − Salt can enable commands to execute remote systems in a parallel manner.
• Python API − Salt provides a simple programming interface and it was designed to be modular and easily extensible, to make it easy to mold to diverse applications.
• Easy to Setup − Salt is easy to setup and provides a single remote execution architecture that can manage the diverse requirements of any number of servers.
• Language Agnostic − Salt state configuration files, templating engine or file type supports any type of language.
Benefits of SaltStack
• Robust − Salt is powerful and robust configuration management framework and works around tens of thousands of systems.
• Authentication − Salt manages simple SSH key pairs for authentication.
• Secure − Salt manages secure data using an encrypted protocol.
• Fast − Salt is very fast, lightweight communication bus to provide the foundation for a remote execution engine.
• Virtual Machine Automation − The Salt Virt Cloud Controller capability is used for automation.
• Infrastructure as data, not code − Salt provides a simple deployment, model driven configuration management and command execution framework.
Learn More about SaltStack here :
No comments:
Post a Comment