Correctly, we name the Amazon Web Services (AWS) as an infrastructure-as-a-service (IaaS). AWS Elastic Beanstalk splits the stock, whether the service should be counted as a platform-as-a-service (PaaS). Anyway, AWS provides various PaaS functionality in its cloud portfolio for some time and extends it now with AWS OpsWorks (still in beta).
What is AWS OpsWorks?
AWS OpsWorks is a solution for the flexible and automated application management. It addresses IT administrators and DevOps developers, who can use it to manage the complete lifecycle of an application, including resource provisioning, configuration management, software updates, monitoring and access control. AWS OpsWorks can be used for free. Costs emerge for the deployed virtual AWS infrastructure resources.
OpsWorks allows you to create a logical architecture, the provisioning of the required resources based on the architecture and providing the application and the necessary software packages for a specific configuration. OpsWorks then cares about the operation of the application and supports the life cycle including autoscaling and software updates.
AWS OpsWorks details
AWS OpsWorks supports different application architectures and works with any software whose installation is script-based. Based on the Chef framework you can use your own ready recipes or those from the community. An event-based configuration system helps during the application lifecycle management. These include customizable deployments, rollbacks, patch management, auto-scaling and auto healing. With that an update can be rolled out just by updating a single configuration file. Moreover OpsWorks has the ability to host AWS instances based on a precisely self specified configuration. This also includes the scale of an application based on the application load, or a time-based auto scaling as well as monitoring the application and the replacement of faulty instances.
With OpsWorks applications can be build in so-called “Layers”. A Layer defines how a set of together managed resources are configured. An example could be a web layer. This includes EC2 instances, EBS volumes including a RAID configuration and mount points and Elastic IP addresses. In addition for each layer, a software configuration can be created. This includes installation scripts and steps for initialization. Is an instance added to a layer, OpsWorks ensures that it will receive the corresponding configurations. OpsWorks provides pre-defined layers of technologies such as Ruby, PHP, HAProxy, Memcached and MySQL. These can be customized and extended.
Technology from Germany
OpsWorks was invented in Germany and is based on the technology Scalarium of the Berlin company Peritor. Scalarium was bought in 2012 by Amazon.
Indeed, AWS OpsWorks is not a concrete PaaS offering. This is due to the building blocks philosophy of the Amazon Web Services. This means that the offered services will be made available as granular as possible. The customer then has the option to integrate the services for its use case and how it needs them. For that, of course, a lot of personal contribution and knowledge is required, which for the infrastructure of a typical PaaS is not required. However, AWS OpsWorks closes in terms of convenience the gap to the PaaS market and offers more and more PaaS functionality in the Amazon Cloud.
About one thing a customer should be aware of. And that applies not only to AWS OpsWorks but for the use of each AWS service. The lock-in in the AWS infrastructure becomes bigger and bigger with each service Amazon is releasing. This need not be a bad thing. A lock-in is necessarily anything negative and may even be beneficial, on the contrary, as long as the own needs are met, and not too large compromises have to be made by the customer himself.
As a customer you just have to keep this in mind before the way into the AWS cloud, as well as in any other cloud, and consider possible exit strategies or multi-cloud approaches.