/* Google Analytics ----------------------------------------------- */

Tuesday, October 20, 2009

AMAZON Cloud - AWS Autoscaling Beta

Amazon still leading the pack of cloud providers and is now proposing an autoscaling service in Beta.

"Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you’re using scales up seamlessly during demand spikes to maintain performance, and scales down automatically during demand lulls to minimize costs. Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees."

The API can be downloaded here, but the main commands are the following ones:

  • as-create-launch-config command to create a Launch Configuration for your Auto Scaling Group. A Launch Configuration captures the parameters necessary to launch new Amazon EC2 instances.
  • as-create-auto-scaling-group command to create an Auto Scaling Group. An Auto Scaling Group is a collection of Amazon EC2 instances to which you want to apply certain scaling conditions.
  • as-create-or-update-trigger command to define the conditions under which you want to add or remove Amazon EC2 instances within the Auto Scaling Group. You can define conditions based on any metric that Amazon CloudWatch collects. Examples of metrics on which you can set conditions include average CPU utilization, network activity or disk utilization.

Auto Scaling tracks when your conditions have been met and automatically takes the corresponding scaling action on your behalf.

More than that, Auto Scaling groups can span multiple Availability Zones. With Multi-AZ Auto Scaling groups, Amazon provides a way to achieve a balanced group of EC2 instances that are spread across multiple Availability Zones for high availability, and provide a single entity to be managed.