Puppet Enteprise is an IT automation and configuration management solution that enables users to manage and automate infrastructure and complex workflows. The vendor states Puppet Enterprise combines both model‑based and task-based capabilities in a way that enables organizations to scale their multi-cloud infrastructure as their automation footprint grows, with more flexibility from both agent-based and agentless capabilities.
N/A
Salt
Score 6.3 out of 10
N/A
Built on Python, Salt is an event-driven automation tool and framework to deploy, configure, and manage complex IT systems. Salt is used to automate common infrastructure administration tasks and ensure that all the components of infrastructure are operating in a consistent desired state.
Puppet is good enough to get the job done, you can use it to automate deployments and maintain files and configurations, if this is all you're looking for it's great. If you're looking for more control over your systems as a whole without having to write your own scripts or install multiple configuration management systems then Puppet is not what you're looking for.
SaltStack is a very well architected toolset and framework for reliably managing distributed systems' complexity at varied scale. If the diversity of kind or number of assets is low, or the dependencies are bounded and simple, it might be overkill. Realization that you need SaltStack might come in the form of other tools, scripts, or jobs whose code has become difficult, unreliable, or unmaintainable. Rather than a native from-scratch SaltStack design, be aware that SaltStack can be added on to tools like Docker or Chef and optionally factor those tools out or other tools into the mix.
Targeting is easy and yet extremely granular - I can target machines by name, role, operating system, init system, distro, regex, or any combination of the above.
Abstraction of OS, package manager and package details is far advanced beyond any other CRM I have seen. The ability to set one configuration for a package across multiple distros, and have it apply correctly no matter the distrospecific naming convention or package installation procedure, is amazing.
Abstraction of environments is similarly valuable - I can set a firewall rule to allow ssh from "management", and have that be defined as a specific IP range per dev, test, and prod.
The setup of Puppet is a nightmare compared to ansible. Anyone watching a youtube video can easily set up ansible with minimal IT knowledge. All one needs is the source IP addresses and we are good to go. Setting up Puppet is a more hands-on task and pushing the puppet agents to all the boxes is another issue. If the installation and setup were simplified like ansible that would attract a lot of people to this platform
The syntax of the code for Puppet is not as easy as ansible. Ansible simply follows a YAML format and it's like typing in normal English. Even complicated tasks can be written by just understanding YAML syntax. Perhaps Puppet needs to revisit the lanugage used and try to come up with a much simpler lanugage for writing code. This will make day-to-day usage easier.
Puppet has top class support. You can simply mail them with their query and they will respond to your query in a timely manner. We do have enterprise license for puppet. Also there is a vibrant community for puppet out there. So even if you dont purchase a premium support option you can simply google your queries and get answers
We haven't had to spend a lot of time talking to support, and we've only had one issue, which, when dealing with other vendors is actually not that bad of an experience.
HPSA is a licensed product and incurs significant upfront investment costs due to COTS licensing. Puppet Data Center Automation has a significantly lower upfront investment and product documentation is more readily available. Chef is a very similar offering, however, at the time our decision was considered, the adoption of Chef vs. Puppet was significantly less in the community.
We moved to SaltStack from Puppet about 3 years ago. Puppet just has too much of a learning curve and we inherited it from an old IT regime. We wanted something we could start fresh with. Our team has never looked back. SaltStack is so much easier for us to use and maintain.
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.