Amazon recently released three major new features for their Elastic
Compute Cloud (EC2) service --
New Features for Amazon EC2: Elastic Load Balancing, Auto Scaling, and Amazon CloudWatch.
These beta services are immediately available to anyone with an EC2 account and
server instances located in the US (sorry EU folks, they are US-only for now).
Amazon CloudWatch is a monitoring service that records resource and
performance metrics for any EC2 instances you associate with the
service, at a cost of 1.5¢ per monitored instance per hour. In addition
to providing up to 2 weeks of monitoring data to EC2 users, this service
also underpins the other two new EC2 services.
Auto Scaling is a service that will automatically start or stop EC2
instances on your behalf based on conditions you specify. In other
words, this service allows you to automatically scale the computing
power available to your application in response to changing demand.
You control your instance pool by defining triggers that react to
defined conditions such as CPU load, response latency, and the number of
healthy/unhealthy instances. Auto Scaling relies on CloudWatch to supply
the metrics it needs to make scaling decisions, so every instance
managed or started by the scaling service must be registered with
CloudWatch. Happily, there is no additional cost for using Auto Scaling
beyond the CloudWatch fees.
Elastic Load Balancing (ELB) rounds out the new services by
providing the ability to distribute network traffic between multiple EC2
instances. ELB routes traffic at the HTTP or TCP level to instances
within or across Availability Zones, and avoids routing traffic to
instances that have become unresponsive. The fee for ELB is 2.5¢ per
hour for each load balancer, plus 0.8¢ per Gigabyte of data transferred
through the service. You will also need to pay the CloudWatch fee for
each load-balanced instance.
These features constitute a major step forward in EC2 functionality that
will make it easier for many users to run applications reliably in the
cloud without the need to implement their own management services.
However, it is important to recognize that the services are only a first
step and there are many situations where they will not provide the
control, precision or cost-effectiveness you will need.
Some gotchas for the services in their current incarnation include:
- CloudWatch metrics are limited to the instance/machine level and
do not provide information about individual applications. Also, some
metrics such as response latency and instance health are only
available when CloudWatch is combined with the Elastic Load
Balancing service.
- Auto Scaling does not seem to be able to terminate instances that
are identified as unhealthy. It will compensate for unresponsive
instances by starting others, but will not put the original instance
out of its misery.
- The Elastic Load Balancing service can only balance CNAME domains
like
www.acme.com
, not top-level ones like
acme.com
. It also seems to limit the range of sub-1024
ports that can be balanced to 80 and 443, and does not perform some
advanced load balancing functions like HTTP session affinity
management or HTTPS termination (HTTPS connections are supported,
but only at the TCP level).
- You will need to work with command-line tools or use the APIs
directly, there are not yet any graphical tools available.
As RightScale's Thorsten von Eicken points out in his
discussion of the new services, there is still room in Amazon's ecosystem
for third-party companies to offer value-adding services that improve on the
underlying provider's offering in terms of functionality, flexibility, price
and ease of use. As Amazon extends the capabilities of EC2 these companies will
need to work harder to add value. This situation may be tough for them, but the
fierce competition will ultimately benefit customers and accelerate the
adoption of cloud services in general.
To help you get started with the new services there is a
post in the EC2 forums that succinctly lists the documentation
and resources you will need.
There are comments.