July 29, 2010, 4:49 pm UTC  

Postings

Cloud scaling considerations

Amazon’s new Relational Database Service (RDS) has generated quite a bit of buzz as of late. This move propels Amazon forward into the application services provider in the cloud computing arena. I’ve briefly written about different types of cloud services in an earlier post and outlined differences between Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), Software-as-a-Service (Saas), and IT-as-a-Service (ITaaS). As cloud-based services gain maturity and adoption, the lines between different “as-a-Service” offerings to blur as providers evolve their service offerings.

Under the covers, RDS instances are essentially EC2 images with MySQL with added services to automates the backup and scaling capabilities. Scaling, or elasticity, has been one of the lures in placing workloads in the cloud. Cloud computing will reach nirvana when compute resources are automagically provisioned and de-provisioned as workloads increase and decrease.

Today, cloud resources provides a mechanism to scale resources in a linear fashion:

  • add another server… in the case of web & application servers where workloads can be divided amongst a pool of servers;
  • move to a bigger server… in the case of database servers where a single server is responsible for processing all the workloads;

However, is linear scaling the right approach to servicing workload increase? I think not. Not all bottlenecks are created equal. In order for workloads to leverage the most out of cloud computing, it’s necessary to ensure that the systems servicing those workloads are maximizing the utilization of available resources.

While your cloud system may be outfitted with the latest & fastest physical components, are these being fully utilized by the OS & software stacks? Here’s a well-written technote from Facebook engineering on how they modified linux and memcached to gain efficiency in memory & processor utilization to deliver a 4x improvement in request handling within a single system.

Sometimes it’s necessary to separate functional elements of the application stack. We’ve seen that in multitier web applications were the presentation & business logic components are delegated to different application servers. We’ve also seen that in database systems where reads & writes are handled by separate servers.

As we continue to move workloads into the cloud. It’s necessary to establish a process to continually evaluate & capture limits within the system to maximize resource utilization. Simply “throwing” in another box is not always the best solution to scaling challenges.

Filed under: cloud & virtualization — appgirl @ 7:09 am
Comments (2)

2 Comments »

  1. Couldn’t have said it better myself! Not only is it important to “separate functional elements of the application stack” it’s equally important to deeply understand and tune the applications themselves. Too often we take an infrastructure view of cloud computing without thinking about how the applications actually work. Know your apps!

    Comment by Kevin — October 29, 2009 @ 8:09 am

  2. Social comments and analytics for this post…

    This post was mentioned on Twitter by catliao: #cloudcomputing scaling considerations… http://bit.ly/3aNTx2 #amazon #webapps #iaas…

    Trackback by uberVU - social comments — October 29, 2009 @ 11:37 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

About

My name is Catherine Liao and you're reading the latest postings of various blogs I follow. You'll notice that the topics tend to center around Cloud Computing, Data Center, Virtualization, Servers, Web Technologies and 24x7 Operations.

These are topics that I'm interested in as I've spent a large chunk of my professional career building, deploying, and maintaining 24x7 application delivery environments. I use the knowledge I've garnered daily in my role as a Technology Solutions Architect for Cisco. I should note that this site is my personal site and does not reflect the views of Cisco.

Feel free to drop me a note if you find this site useful or if you'd like for me to check out your blog. I can be reached at catherine.liao@gmail.com. You can also connect with me via LinkedIn or Twitter.

Looking for less "geeky" content? Check out my travel blog 1-Day Itinerary.

Tweets

Fans

AppGirl on Facebook

Powered by WordPress