Most Read This Week
Enterprise Cloud Computing
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
By: Rajesh Lain
Sep. 5, 2014 02:00 PM
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 firstname.lastname@example.org
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:
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.
Reader Feedback: Page 1 of 1
Subscribe to the World's Most Powerful Newsletters
Today's Top Reads