Automating the management of Amazon EC2 using Amazon CloudWatch, Auto Scaling and Elastic Load Balancing

| | Comments (7) | TrackBacks (1)

The Amazon Elastic Compute Cloud (Amazon EC2) embodies much of what makes infrastructure as a service such a powerful technology; it enables our customers to build secure, fault-tolerant applications that can scale up and down with demand, at low cost. Core in achieving these levels of efficiency and fault-tolerance is the ability to acquire and release compute resources in a matter of minutes, and in different Availability Zones.

Of course the best way to achieve efficiency and fault-tolerance while maintaining good performance is to fully automate the management of the Amazon EC2 Instances, such that you can optimize the use of the compute resources in different scenarios. Higher levels of automation allow your applications to quickly respond to changes in usage patterns and failure events in a pre-determined manner.

At Amazon we have tremendous experience with building our applications this way; we make sure that customers are getting consistent performance, even if whole datacenters are failing. To facilitate this we have built unique infrastructure technologies that help our engineers automate the scalability and fault-tolerance of the Amazon ecommerce platform. Core in those technologies is the ability to monitor and measure every possible resource and activity in real-time, and to automate new capacity deployment and the management of services and applications based on the information that flows through the monitoring system.

cloudwatch_small.jpg

With the launch of Amazon CloudWatch, Auto Scaling and Amazon Elastic Load Balancing we are now making these unique technologies available to our Amazon Web Services customers. These features will help our customers to monitor their Amazon EC2 Instances, automatically scale them up and down based on the monitoring data, and to efficiently distribute requests to their applications over the different instances even if they are running in different Availability Zones.

These new infrastructure services consist of 3 core parts:

  • Amazon CloudWatch enables you to monitor Amazon EC2 Instances and Elastic Load Balancers in real-time. It will aggregate and report on metrics such as CPU utilization, data transfer and disk usage, as well as requests rates and request latency.
  • Auto Scaling allows you to automatically acquire and release Amazon EC2 Instances based on the metrics reported through Amazon CloudWatch. You can define the conditions under which this should happen and when these conditions are met, Auto Scaling will automatically add or remove compute resources.
  • Amazon Elastic Load Balancing will distribute incoming application traffic over your Amazon EC2 instances that are running in a single or multiple Availability zones. It can detect the health of Amazon EC2 instances and will stop routing traffic to unhealthy instances until they have recovered and become healthy again.

These services will be of great value to Amazon Web Services customers to simplify the management of their applications and services. With the introduction of these services it will become even easier to optimize performance and fault-tolerance at low-cost.

You can find more information at the detail pages for Amazon CloudWatch, Auto Scaling and Elastic Load Balancing.

Also check out the blog post at the AWS developer weblog with more examples and details, the Rightscale blog with their experiences and my blog post in october 2008 for more background.

1 TrackBacks

Listed below are links to blogs that reference this entry: Automating the management of Amazon EC2 using Amazon CloudWatch, Auto Scaling and Elastic Load Balancing.

TrackBack URL for this entry: http://mt.vogels.net/mt-tb.cgi/137

Amazon EC2で、Amazon CloudWatch(インスタンス監視サービス)、Amazon Elastic Loadbalancer(ロードバランサー), Amazon AutoScaling(自動スケールアウト機構)がリリースされました。 New Features for Amazon... Read More

7 Comments

Mikayel said:

it is worth adding also http://www.monitis.com for monitoring your instances both externally from different locations worldwide and also internally(resource utilizations)

When somebody said "It's coming" recently I didn't think it was this fast! :)

Thank you. Makes this a so much more integrated package that I am already looking forward to moving our entire ad server over there. No More Per Request Costs! Yehaa ;) (currently running a lot via S3 directly ;))

Oliver

Tim said:

Awesome updates.

Any chance of getting GZip and Last-Modified functionality to CloudFront now?

Do you plan on making it possible to have local bi-directional integration with existing monitoring and activity based metering solutions deployed to the cloud?

It would be too slow (relative to the sampling granularity of other metrics we measure within a Java runtime) to collect such data from within a cloud-based VM via AWS.

It seems it would be easy for us to publish/map our Metrics Open API Measures to Amazon CloudWatch and also map Amazon CW metric measures to our measures, possibly providing resource meters for activity analysis (software execution context). The named concepts nearly map one-to-one our published interfaces.

http://opencore.jinspired.com/

William

Denny said:

Does the load balancer feature provide such mechnism like "session sticky" or "session replication"?

I have a try, but it seems the session is not stuck to one server?

waiting for your reply, thanks

Michael Newton said:

Pssst. Guy with binoculars. Your cloud is behind you.

James said:

We have released a new Native iPhone app to manage EC2,S3,SDB,SQS,CF services from your iPhone iPod Touch devices.We are working on update to support Amazon CloudWatch, Auto Scaling and Amazon Elastic Load Balancing API's . Please see the following URL for more details.

http://www.iawsmanager.com

About this Entry

This page contains a single entry by Werner Vogels published on May 18, 2009 12:01 AM.

Making A Dramatic Difference was the previous entry in this blog.

Expanding the Cloud: Moving large data sets into Amazon S3 with AWS Import/Export. is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.