AWS OpsWorks Platform
Application management in the cloud is set to become much simpler thanks to the introduction of a new service from AWS called OpsWorks. It’s a Devops solution designed to help deal with the complexity of application management in Amazon’s cloud services. The idea is that it allows you to model, and therefore visualize, the use of resources and thus improve your overall resource use.
OpsWorks starts by allowing you to define specific layers for your application, which are like a map for each instance that you want to deploy. You can also define a set of layers and their associated AWS resources, meaning that developers can easily pair up different components of the AWS cloud for truly dynamic development environments.
The OpsWorks service offers a selection of layers for multiple technologies. These include PHP, MySQL, Ruby and more. It is very easy to create a custom layer or to extend the capabilities of an existing layer. You can also develop and integrate custom recipes using OpsCode Chef. This can then automate delivery of each layer depending on the triggers associated with them. Essentially a trigger is any event that appears in the applications’ management life-cycle. Developers can also assign an instance to any layer in almost any configuration required for the application.
The use of Chef means that OpsWorks comes with access to hundreds of pre-built environments that can be quickly deployed. The material is community created and that means its already in use on other projects – a real advantage to knowing that the recipe has at least had some real-life field trials before you start working with it.
Benefits of AWS OpsWorks
- OpsWorks supports rapid deployment of Amazon EC2 instances. These instances come from templates developed by AWS and include support for other AWS services like EBS volume creation for example.
- Persistent long-term relationships for your resources. If you stop running an instance and then need to deploy it again a year later, the instance will still have access to the same volume and even the same elastic IP addresses that it had before.
- Automated life-cycle software configuration. The use of Chef makes it simple and easy to deploy recipes against a pre-defined trigger.
- Simple deployment of applications. It’s very straightforward to use OpsWorks to pull code from any VCS repository and then install it on a range of instances. It’s also possible to join multiple applications together and treat them as a “system”. You can then deploy that system in the same manner.
- Automated healing support. OpsWorks can be configured so that in the event an instance fails, a new one is automatically set up as a replacement for that instance.
- Controlled scaling of instances. Scaling for instances can also be triggered and you can use both time and load based scaling. It’s a great way of using OpsWorks to save money on your resources investment. Scale up when you need more resources to handle some load spikes and then scale straight back down again afterwards.
- CloudWatch support. OpsWorks, as you might expect, is integrated with Amazon’s CloudWatch reporting and monitoring tool set. You can use CloudWatch to develop a series of alarms to trigger automated responses to specific issues. It also delivers useful graphical displays of key information regarding the instance.
How much does OpsWorks cost?
A key factor in the decision making process of using any new tool is the price. The good news is that there’s no extra charge for using OpsWorks on the Amazon platform. AWS services are charged for the use of physical resources rather than the control software. So if you use OpsWorks to configure the deployment of a range of EC2 instances, for example, you pay for the use of the EC2 instances as you always have before – there’s no additional cost because you chose to use OpsWorks to deploy the instances.
Amazon says that OpsWorks is simple, productive, powerful, flexible and secure. We tend to agree with this. OpsWorks offers an easy way to develop models of your application layers and then tweak them to deliver the best levels of performance. The event-triggered automated approach gives genuine productivity boosts in application deployment. It is powerful enough to support the development environment through the use of controlled templates which enable clean configuration of instances.
Flexibility comes from the fact that OpsWorks supports all scripted software installation as well as Chef. That means access to user generated recipes as well as your own custom recipes. Security is managed using SSH on a per-stack basis.
OpsWorks is likely to become a de facto standard in devops teams working to ensure application management in a sensible, secure environment.