AWS OpsWorks is a configuration management service that provides managed instances of Chef and Puppet.
N/A
Puppet Enterprise
Score 8.3 out of 10
N/A
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.
Where you already have some Chef recipes to build your application boxes and are happy to run directly on VMs, OpsWorks really shines. It won't do anything too complex for you, so it only really works well for simple stacks (load balancers, application layers, database layers). If you want to do more complex infrastructure, Cloudformation or Terraform are probably worth looking at.
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.
There are no true deployment options, so you cannot specify rolling-deploys for example. It is possible to emulate some of these things, but it really is an exercise for the reader.
Generally pushes you down the road of mutable infrastructure (as opposed to immutable infrastructure). It would be nice if there were better options around this.
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.
Unless you pay for a pricey support package getting support on OpsWorks will be pretty slow. Documentation is also relatively limited and sometimes hard to follow when compared to competitors. Generally, we've been able to get the answers we need from OpsWorks support when we run into problems but don't expect rapid responses.
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
OpsWorks isn't really a direct competitor to Terraform/Cloudformation, but it does allow you to do some of the more simple things on offer quite quickly and effectively. Opsworks was used for this reason, along with existing internal knowledge of Chef. Along with some of the other services on offer from AWS, it is good to use as a stepping stone along the way when building your systems - or perhaps it would be entirely suitable for a fairly simple project.
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.
OpsWorks allowed us to access the AWS infrastructure with a considerably lower time investment than we would have otherwise needed when we first implemented it.
Since we've been running with OpsWorks we've experienced very little downtime and it's required relatively little maintenance.
The main downside of using OpsWorks for us is that it has locked us into a very specific infrastructure that doesn't have the flexibility of many of the newer infrastructure management tools, this may lead to a painful migration down the road. We also run a risk of long outage if it ever does introduce breaking changes as the skillset needed to work with the OpsWorks tooling is very specific not widely available in our company.