Home arrow Infrastructure Blog arrow Cloud Resource Auto-Scaling at Work
Cloud Resource Auto-Scaling at Work
Written by Eric Novikoff   

Since announcing automatic allocation and scaling of cloud resources in January, ENKI has been selling and providing customers with the ability to have their applications monitored by our monitoring system, and automatically have additional resources added and removed from their virtual private data centers to conform to varying loads and to save them money.  I wanted to share an update on this with you and show you some pictures!

Customers who can benefit from this must have an application in which additional instances of virtual servers can be added and utilized by the application software: for example, additional web, application, or other data processing servers that are handed work by a load balancer or job scheduler.  ENKI offers reserve capacity on an as-needed basis, or accepts reservations for reserve capacity so that it is guaranteed available when needed.

The mechanism we use to effect the auto-allocation is a controller node inside the customer's virtual private data center that can access monitoring information either for virtual servers or the load balancers that send requests on to them, and is authorized to request resource provisioning and disposal from AppLogic.  The policies for allocation and disposal can be set uniquely for each customer to optimize their load response profile to their business needs.  Because AppLogic has a persistent model for virtual instances, there is no need to allocate a new instance, but rather only turn it on, which speeds deployment to less than 30 seconds, versus other cloud vendors' potential 10 minute delays.  This makes the application more responsive, though it doesn't eliminate the need to size the "first" instance correctly for base loads.

The good stuff - a case study

We have one customer who serves ads for people and companies wishing to advertise on electronic greeting card sites.  The greeting card companies auction off blocks of ads, and then give the ad services company (ENKI's customer) the responsibility of serving the ads when their bid is accepted.  This creates a widely varying load on the ad services company, which is an ideal opportunity to take advantage of auto-allocation.    In this case, the customer has three virtual machines that serve ads, called A, B, and C.   A runs all the time, serving the base needs of our customer's business.  When bids are accepted, the controller watches the load on A go up, and turns on B when a predefined threshold is reached.  Similarly, if B becomes too busy, C is turned on.

Now for the pictures.  You can see the load (as total network traffic on the load balancer) in the first graph, with daily peaks corresponding to people's electronic greeting card usage habits.

Load:autoallocationload.jpg

Below are usage graphs for each of the three servers as they serve the load shown above.   The first graph shows the load on the application server which is always running. As this server, A, peaks, our Cloud Auto-Scaling system activates additional servers. 

Server A:

autoallocationa.jpg

In the graphs below, gray areas indicate that the server is off, so our NimSoft monitoring system cannot measure the load.  It wakes up when the server does, and shows its load while it is running, until it is turned off automatically again.  You can see how some load peaks cause B to be turned on, and a smaller number are large enough to activate C.

Server B:

autoallocationb.jpg

 Server C:

autoallocationc.jpg

What we see from these graphs is that there is some cost-saving optimization left to be applied: the primary server, A, is still idle a lot of the time.  Decreasing the resource allocation to A and perhaps increasing B or even making C twice as big as B could potentially save our ad-serving friends some money.   This really illustrates the power of in-depth monitoring when added to auto-scaling technology in the cloud: it produces analytic performance analyses that can allow businesses better control over cost and performance tradeoffs. As it currently stands, this customer is saving about 33% over simply allocating for peak usage.  With some tuning, they could save up to 50% or more.

Comments (12)add comment

Write comment

busy
 
Tag it:
Delicious
Digg
Technorati
Stumble
YahooBuzz
Reddit
Netvouz
blogmarks
< Prev   Next >