What Salt is & the master/minion model
The message bus and real-time control.
Salt (SaltStack) is a configuration-management and remote-execution platform built for speed and scale. Its defining feature is a persistent message bus: a Salt master and its minions stay connected over ZeroMQ (or optionally raw TCP), so the master can command thousands of minions in near real time — not by opening an SSH session to each, but by publishing a message they all receive at once. That bus makes Salt exceptionally fast and gives it a superpower the config-first tools lack: instant, ad-hoc remote execution across the fleet.
Architecturally it is master/minion and agent-based, like Puppet and Chef: a salt-minion runs on each node and authenticates to the master with a key the master must accept. But Salt blends two worlds — imperative remote execution (run this command everywhere now) and declarative state management (converge these nodes to this desired state). You will use both, often together, which is what makes Salt feel different from a pure config-management tool.
Two modes, one tool
Remote execution runs a function on targeted minions immediately (restart a service everywhere, gather a fact, apply a patch). State management applies declarative SLS files to converge nodes to desired state. The same infrastructure powers both, and advanced Salt (the reactor, later) ties them together — an event triggers a remote-execution or state action automatically. Start by seeing them as two gears of the same machine.