- [Instructor] The final orchestration tool
you want to examine is called SaltStack.
SaltStack is built on the Python programming language,
and also has a Python interface.
Although interestingly,
most of the instructions pushed out by the server,
are actually formatted in YAML,
the same language that we looked at that's used by Ansible.
The architecture is similar
to other tools that we've examined,
except of course, SaltStack has its own terminology
to describe the components.
The main SaltStack server is called the Salt Master.
This is the main hub where configuration takes place
and the point from which instructions
and configurations are pushed out.
These are pushed out to what are called minions.
These are actually an optional part of the architecture
and they're essentially agents
installed on the manager's devices.
This minions are used to receive and execute commands
and also to report information about the node
back to the Salt Master.
SaltStack also has a built in mechanism
for determining information about the systems
where the minions are located.
These pieces of information are referred to as grains,
in other words, little grains of information about a node.
This information includes network information,
the operating system, hardware details, and so on.
So in short, grains report data about the minions
back to the Salt Master.
This information is fairly static,
so this is not a real-time reporting mechanism.
Then there's a structure called a pillar
which does the opposite.
Pillars store data that a minion can retrieve
from the master.
These contain sensitive information
that is specific to a particular minion.
So pillars are a tree-like database structure
that store highly sensitive data,
such as cryptographic keys and passwords.
Pillars can be assigned to specific minions
so that no other minions have access
to this confidential data.
Then we have a large data structure called the Salt Mine.
This captures arbitrary data from all of the minions
which is stored in the Salt Mine on the Salt Master.
This information is also made available
to all of the other minions.
As opposed to the grains we mentioned earlier
which have very static information,
the Salt Mine data is much more up to date.
So you can see that all four of the orchestration tools
that we've mentioned are fairly similar,
especially in the overall goal of the tools.
The goal is to lighten our administrative load,
and to make monotonous
or often repeated tasks much easier for us.
Although the function and goal of each
is essentially the same, you'll want to consider
whether you want an agent-based system
or an agentless system in your own environment.
And you'll also maybe want to give some consideration
to any programming languages
with which you're already familiar.