Welcome!

Linux Authors: Elizabeth White, Roger Strukhoff, Esmeralda Swartz, Trevor Parsons, Liz McMillan

Related Topics: Cloud Expo, Java, SOA & WOA, Linux, AJAX & REA, Big Data Journal

Cloud Expo: Article

Does Performance in the Cloud Matter?

An appealing benefit of cloud deployment is the ease of use and the flexibility of adding or removing compute capacity

Note: Scott Turner and his team from Verizon Terremark performed the tests on the Terremark Cloud Platform and other public clouds. Scott can be reached at [email protected]

One of the most appealing benefits of cloud deployment is the ease of use and the flexibility of adding or removing compute capacity. You can dynamically allocate resources based on the changing workloads, which give you the flexibility in managing your compute cost.

AWS Auto Scaling enables you to closely follow the demand curve for your applications, reducing the need to provision Amazon EC2 capacity in advance. For example, if your CPU Utilization goes over 70% you can add additional EC2 instances. Similarly, if your CPU Utilization goes down above a threshold, you can remove EC2 instances.

Similarly, Rackspace auto scaling can be Schedule-based and Event-based. You can prepare for a burst of traffic during specific holidays or during peak hours by creating a schedule or you can monitor specific events like a CPU load and provision additional capacity.

Microsoft Azure provides manual, automatic or scheduled based scaling of your application, where you can add additional CPU, or increase the queue messages on the target machine.

In the Cloud Foundry based PAAS platform, auto-scaling an application to hundreds of instances using BOSH auto-scaler is as simple as defining auto scaling rules and this can create multiple instances of your applications.

$ cf scale myApp -i 500

While auto scaling flexibility is beneficial and a required feature for any cloud deployment, this can quickly add cost to your cloud deployment. More compute resources means more cost and this can spiral quickly without addressing the real problem - is your app using the resources you've already provisioned properly? Do you even have that level of visibility? Are you closing the visibility gap?

Ever increasing visibility gap

What is actually needed is complete application visibility to address your performance issues. The first step is to optimize your apps and benchmark the performance and get the visibility you need. The next step is Auto Scaling, which can enhance your application performance to meet the unknowns.

How do you prepare your application to meet this challenge?

To answer this question, we ran some tests and analyzed the results. To start, we deployed a standard e-Commerce store application on a LAMP stack from couple of cloud providers. The e-commerce store sells electronics and has the full functionality of an e-Commerce site. The key transactions on this store are:

  • Register as user
  • Place order
  • Receive email
  • Check status of order
  • Payment type (check or money order)

e-Commerce Store Application in the Cloud

This app is pre-packaged from Bitnami and runs on an open source LAMP stack that allows visualization of infrastructure.

The infrastructure consisted of web/app servers and a MySQL database in multiple cloud sites on the US East and West Coasts and in Europe.

Deployment of e-Commerce App on Multiple Clouds

We have Multi-Tenants Firewalls and Load Balancers. The e-Commerce platform is RHEL 64 bit OS, Apache, MySQL, PHP and Magento. The Webserver / Application Servers are in DMZ (1vCPU x 4 GB x 10 GB Disk) and the MySQL DB Server in Internal (1vCPU x 4 GB x 10 GB Disk)

Next, we used Compuware Synthetic Monitoring 2.0 to script key transactions on the store. We generated a steady synthetic load mimicking real users from various backbone and last mile locations and across ISPs. We scripted single URL and multiple step tests to measure the availability and performance of the Web site in the cloud.

Synthetic Tests Scripts

We then instrumented the back end with the Compuware dynaTrace solution by deploying the PHP/Web agents across all the tiers of the application.

For results and takeaways click here for the full article.

More Stories By Rajesh Lain

Rajesh Lain is a product specialist at CompuwareAPM. He works with customers across the global, helping them in choosing the right application performance management solutions. He has 10+ years of experience in APM, Web and Mobile performance strategies and is currently working focused on APM in the Cloud and Splunk. Follow him at @rjain15

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.