SaltStack is recommended!
August 08, 2016

SaltStack is recommended!

William Cannon | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Software Version

SaltStack (legacy)

Overall Satisfaction with VMware vRealize Automation, with SaltStack Config

Hospitality Pulse uses SaltStack for the automation of critical infrastructure in our AWS infrastructure (multiple VPCs). We also built a custom software deployment orchestrator on top of SaltStack. SaltStack is a cornerstone piece in our highly available architecture and hands-off server automation.
  • A superb remote execution framework! SaltStack allows us to easily program numerous functions on top of it. For example, we developed a fast parallel asynchronous deployment tool that handles all software deployment, including interdependent service management.
  • Configuration management is now easy. We take advantage of this to automate (in tandem with AWS tools) the stand-up of all servers and services. It is also relatively easy to create new configuration management states for software not yet supported by the community (e.g. Grafana).
  • Flexibility. Numerous small utilities have been built which simply wrap around SaltStack to allow tedious tasks to become easy.
  • There are no big issues with SaltStack. I'll highlight a few minor items to consider here. One is version numbers of the software. This can be a little confusing to newcomers.
  • The documentation is good now, but used to be lacking.
  • We manage two complex highly available self-healing (all infrastructure and systems) environments using SaltStack. Only one person is needed to run SaltStack. That is a HUGE return on investment.
  • Building tooling on top of SaltStack has allowed us to share administrative abilities by role - e.g. employee X can deploy software Y. No need to call a sysadmin and etc.
  • Recovery from problems, or time to stand-up new systems is now counted in minutes (usually under eight) rather than hours. This is a strategic advantage for rolling out new services.
I have used the following:
CFEngine
Puppet
Chef (only a cursory usage after a one day course)
Ansible (cursory usage after reading a book on Ansible)

Chef is the closest competitor to SaltStack. It is slower though and requires a somewhat complicated installation.
Puppet is slow. The design requires the bulk of work to happen on the Puppet master. It does not scale well. It is built for 2005 servers, not cloud.
Ansible is ssh only by design. Orchestration is very difficult to achieve.
Well Suited:
Configuration Management
Orchestration of Services/Applications in regard to each other or infrastructure
Custom tooling - wonderful event bus for asynchronous event driven actions
Instant remote access (command execution) to tens/hundreds/thousands of servers with very flexible targeting
Ability to put network nodes under configuration management even if they are unable to run a "minion" via proxy minions

Less appropriate use of SaltStack? If you have only one server and want to manage it very poorly resulting in difficult hours of trouble-shooting then don't use SaltStack.