Saltstack
Summary:
Saltstack is a configuration management tool written in Python and is one of the newer contenders in the space that's been getting good adoption.
Features:
- ZeroMQ is fast, without using SSH to interact with systems
- OnPremise open-source
- SaltAPI via CherryPy for extended functionality and automation
Deployment:
- Set up a SaltMaster
- Install Salt-Minions
- Accept salt-minion keys on saltmaster
Usability:
- Written in Python
- Write in YAML
- Jinja2 templating
Maintainability:
- Easy updates via system package installers
- Pretty easy to pick up and write states
- Jinja2 templating provides for a lot of reusability
List Pricing:
- On-Premise open-source
- Enterprise/Cloud - $150/machine/year
I've honestly never taken the Enterprise route. For most implementations, the free open-source product will probably suit your needs.
Coverage:
- Just about every flavor of Linux Operating Systems
- Windows and MacOS supported
Considerations:
- Great for Python-centric shops and Jijna2 templating makes reading a breeze for developers that don't use Saltstack day in and day out
- Saltstack is a big supporter of the DevSecOps flow
- Plenty of documentation
- Saltstack formulas provide pre-written states that can be used to automate several tasks
- Salt-minion requires resources when applying salt states, so it is entirely possible to run out of memory using something like a t2.micro – be careful
- You need to be pretty explicit with Salt; example, if you want a file in directory
/var/www/html/salt
you need to actually create the directory first