Amazon teaches cloud self-growth trick
Amazon has unveiled a trio of new services designed to make life easier for anyone parking applications atop its famous cloud.
As expected, the company is now offering tools for monitoring resources on its Amazon Web Services (AWS) cloud, automatically boosting or reducing resources as they're needed, and seamlessly redistributing traffic across multiple geographic regions.
"We are working to make it even easier for you to build sophisticated, scalable, and robust web applications using AWS," Amazon's Jeff Barr wrote on the Amazon Web Services blog.
"You want visibility into resource utilization and overall performance. You want your application to be able to scale on demand based on traffic and system load. You want to spread the incoming traffic across multiple web servers for high availability and better performance. You want to focus on building an application that takes advantage of the powerful infrastructure available in the cloud, while avoiding system administration and operational burdens."
The key addition is auto-scaling, according to Thorsten von Eicken, CTO of RightScale, a so-called "cloud management" outfit that works closely with Amazon. "The auto-scaling service is something that has been lacking in many users’ mind from EC2. We’ve often heard from people looking at EC2 the first time: 'You mean Amazon doesn’t automatically launch more instances when my app is overloaded?'" von Eicken wrote this morning on the RightScale blog.
Amazon's Jeff Barr first announced the new services in October, and after some private beta testing, all three are now available as public betas in the US. European versions should be available "in the next several months." Yes, we asked. But the company couldn't be more specific.
Dubbed CloudWatch, Amazon's new monitoring tool tracks resource usage across your Elastic Compute Cloud (EC2) server instances and Elastic Load Balancers. That includes CPU loads, disk I/O rates, network I/O rates, request rates, and request latency. All this is captured at one-minute intervals and stored for the next two weeks.
Using this data, the new Auto Scaling service can then expand or reduce resources as necessary. "Your Amazon EC2 instances will scale automatically based on actual system load and performance but you won't be spending money to keep idle instances running," Barr wrote. Basically, you set certain thresholds, and when those thresholds are reached, the service launches new server instances or terminates instances no longer needed.
Meanwhile, Amazon's Elastic Load Balancing service lets you distribute loads across instances in one or more "Availability Zones." EC2 is served up from two separate geographic locations - the US and Europe - and each is split into multiple zones designed never to fail at the same time.
AWS performance monitoring, auto scaling, and load balancing tools are already available from RightScale. But RightScale's von Eicken sees Amazon's new services as compliments to his company's existing offerings. "There are multiple layers here," von Eicken tells The Reg, after beta testing Amazon's new management services. "Services may have the same names but that doesn't mean you're getting the same thing."
There's auto scaling and then there's auto scaling. "Auto scaling itself is easy, right? Launching the next server is really not a big deal. The big deal is lining up everything up beforehand."
RightScale web-based service offers so-called server templates designed to facilitate the deployment of new servers, giving instances the power to reconfigure themselves depending on the situation. "One of the biggest challenges that people will discover with Amazon Web Services, with Amazon's Auto Scaling, is that it's very painful and very hard to bake everything a server has to do into a machine image. And the second image needs to be different from the first. We give you the tools to do this."
But there are some things, von Eicken says, that are better done by Amazon, deep inside its own infrastructure. Amazon's CloudWatch can monitor activity at the hypervisor level, for instance, and its Elastic Load Balancing services can balance at the IP and DNS level.
RightScale plans to feed CloudWatch info into its own monitoring tools, which provide a more visual look at resource usage. And while Amazon is load balancing on one level, von Eicken and company can facilitate balancing on another. "There are also cases where you want to take a complex website and break it up into multiple sub-sites and move them to different server banks...You have application-specific rules on how you break things up and load balance. Amazon doesn't really do that and we do."
Like the rest of Amazon's cloud services, CloudWatch and Elastic Load Balancing are priced on a pay-as-you-go basis. Amazon's full price list is available here. Meanwhile, Auto Scaling is available for free as part of CloudWatch. ®