Salt is an open source tool to manage your infrastructure. Easy enough to get
running in minutes and fast enough to manage tens of thousands of servers (and
still get a response back in seconds).
Execute arbitrary shell commands or choose from dozens of pre-built modules of
common (or complex) commands. Target individual servers or groups of servers
based on name, defined roles, or a variety of system information such as
hardware, software, operating system, current version, current environment, and
many more.
Bring your servers up to a known configured state by writing simple lists of
items and defining attributes on those lists—no need to learn yet another
language.
Read the Salt overview for a more thorough description.
The quickest way to see Salt in action is to run a command on a minion
host from the master host. This is widely known as remote
execution — executing commands on remote hosts.
Now that you have the basics out of the way, learn to use Salt to configure
your servers. This is widely known as configuration management —
installing packages, configuring users and services, and much more.
Setting up and using Salt is a simple task but its capabilities run much, much
deeper. Gaining a better understanding of how Salt works will allow you to
truly make it work for you.
Remote execution is the core functionality of Salt. Running pre-defined or
arbitrary commands on remote hosts.
Modules
Salt modules are the core of remote execution. They provide
functionality such as installing a package, restarting a service,
running a remote command, transferring a file — and the list goes on.
Building on the remote execution core is a robust and flexible config
management framework. Execution happens on the minions allowing
effortless, simultaneous configuration of thousands of hosts.
States
Express the state of a host using small, easy to read, easy to
understand configuration files. No programming required (unless you
want to).
Salt states are only concerned with the ultimate highstate data
structure. How you create that data structure isn't our business.
Tweak a config option and use whatever you're most comfortable
with.
Allow minions to communicate amongst themselves. For example, configure
one minion by querying live data from all the others. With great power
comes great responsibility.
At it's core, Salt is a highly scalable communication layer built on
top of ZeroMQ that enables remote execution and configuration
management. The possibilities are endless and Salt's future looks
bright.
Use a frozen install to make deployments easier (Even on Windows!). Or
take advantage of automatic updates to keep your minions running your
latest builds.