A powerful/stable infrastructure management tool, but a bit outdated
Rating: 6 out of 10
IncentivizedUse Cases and Deployment Scope
We currently use AWS OpsWorks in hosting our application core. It forms the foundation of our product, which is used by the entire company; however, only a few select members of our backend team manage it directly. AWS OpsWorks allows us to leverage the powerful EC2 infrastructure without having to build out a custom instance management system.
Pros
- OpsWorks provides a relatively simple interface for connecting with the ELB and bringing up/taking down EC2 instances.
- OpsWorks stacks and layers allow you to logically organize your infrastructure to match your system architecture.
- OpsWorks can assist in monitoring instance health and has a decent auto-scaling feature to recover from potential load-based outages.
Cons
- Getting up and running with OpsWorks is a very technical and potentially time-consuming process. You need to know the ins and outs of Chef/Puppet if you really want to get into it and there isn't a convenient way to test out the environment locally so debugging can be time-consuming.
- To take advantage of some of the newer AWS instance types you need to be running on a VPC, which again is a pain if you don't have a DevOps team.
- The error logs and monitoring metrics in OpsWorks are pretty basic and haven't changed much over the years.
Likelihood to Recommend
Scenarios where OpsWorks is well suited:
- You have a team that's heavily invested in AWS infrastructure and want to simplify the management of your EC2 instances.
- You have a large proficient DevOps team and you're willing to put into the time to learn Chef and dig deep into operations management.
- You don't have a proficient DevOps team or development team that is able to dedicate a considerable amount of time to learn Chef and get your instances configured.
- You want to build an application that is infrastructure-agnostic that can easily be moved to different hosting on short notice.