SaltStack is an Infrastructure Management-, Configuration Management- and Automated Provisioning system. It contains a number of different components. Some of those components will be explained below. Someone can define states and formulas within salt and have them automatically provisioned.
States (and by extension state files) are a way to express certain states that a machine needs to be in. An example would be if you want to make sure that Nginx is installed:
This state, when run, will check if Nginx has been installed, and if it is not installed will install it for you.
Formulas are collections of states in one or multiple files. Most often they are designed to work together. A lot of formulas can be found on Github: https://github.com/saltstack-formulas
Modules are components of salt. These can be responsible for varying things including package- and file management.
Within SaltStack, salt-cloud is a separate binary provided to manage Cloud servers and providers. Most often, it is used to create and manage new cloud instances. In the next tutorial, we will install salt on our master server.