Demanding and Validating Performance for Cloud-Based Applications and Services

Many see 2010 shaping up as a boom year for cloud computing, with cloud adopters capable of realizing significant reductions in administrative IT costs compared to non-adopters.  However, it's not enough to simply develop and implement a cloud strategy. 

Rather, enterprises must take into account the performance of their cloud-based assets and the impact of the cloud on their end users' and customers' experiences.  After all, the apparent cost and elasticity advantages of the cloud won't yield any business benefit if the direct consequence is a poor end user experience.  For this reason, businesses considering the cloud must do the due diligence and insist on performance guarantees from cloud service providers that map directly to business objectives - or risk impacting revenue, brand image and customer satisfaction. 

Will Sub-Par Performance Break the Cloud?

Imagine you're an e-commerce manager for a leading retailer, and you use a cloud service provider to host a mission-critical, revenue-generating web application.  You log onto the web page, click the "browse now" button and it takes five seconds for the online catalog to appear, followed by another 30 seconds for the catalog to download and yet another 15 seconds for a selected product image to appear.  Click on the "buy now" icon - wait another five seconds - enter your credit card information - wait another 10 seconds for billing/shipment information page to appear - and so on. 

Now, consider industry data which shows two seconds - down from four seconds just three years ago - as the new threshold customers are willing to wait before growing frustrated, abandoning a website and going to competitor.  Another industry study found that 78% of consumers will switch to a competitor's website when they encounter slowdowns, errors and transaction problems during peak traffic times like the holidays.  In addition, after a single poor online experience during a peak traffic period, 88% of consumers will be less likely to return to a site, 47% will have a less positive perception of the company and 42% will discuss their poor experience with family, friends and peers, or online on social networks.  Obviously, consumers have absolutely no understanding or tolerance for web performance degradations at any time, and statistics like this further serve to reinforce that poorly performing websites and applications are simply unacceptable.

Availability and security have long dominated the discussion around cloud computing risks.  To address these concerns, cloud service providers offer service-level agreements (SLAs) promising, for example, certain uptime guarantees (such as 99.9%).   But what does 99.9% uptime really mean to your business and your end users?  What it means is just that the cloud service provider's servers are up and running:  but the sad truth is that this has practically no correlation to how your application is performing for your end users around the world.  To date, most cloud service providers' SLAs offer no guarantees about the speed at which applications and services will be delivered all the way to the end user, nor their ability to ramp up extra capacity quickly and precisely when your business needs it most.

And to be certain, performance considerations are hugely important, because if your cloud-based application or service performs poorly, your end users won't care who's at fault - instead, they will simply blame you, leaving you with disgruntled end users and potentially, lost revenues and brand damage.  That's why businesses need to start demanding performance-focused SLAs from their cloud-service providers. Consider this is a three-step process:  1) understand why you are using the cloud; 2) evaluate cloud providers based on your reasons for using the cloud and your associated performance requirements/success criteria; and 3) set SLAs based on these performance requirements and commit to ongoing performance monitoring in order to validate SLAs, ensure performance requirements are being met and verify that you're getting what you're paying for.

Why Are You Using the Cloud?

As mentioned, a first step in creating a performance-focused SLA is to have a clearly defined sense of why your business is using the cloud.  Common reasons include 1) greater elasticity, meaning speed (fast ramp-up) plus capacity to handle occasional, sporadic overflows; 2) cloud bursting, meaning that instead of investing in an internal infrastructure massive enough to handle occasional, extraordinary traffic peaks (but otherwise sitting idle), a business buys just enough infrastructure to handle usual traffic patterns and diverts only peak, special event traffic to the cloud; and 3) improved end user experiences, which means ensuring exceptional speed and availability for application end users.

Evaluate Cloud Service Providers Based on Your Performance Goals

Once you've determined exactly why you're using the cloud, you must articulate performance requirements - which should be based on the unique needs of your business and your end users.  Certain reasons for using the cloud, such as trading capex for opex, do not necessarily raise issues of performance. 

But other reasons, such as those described above, bring critical performance issues to the fore, and these must be addressed in order for cloud investments to truly serve the needs of a business.  Therefore, businesses using the cloud for any one of these reasons must evaluate cloud service providers based on the following:  can they meet my performance goals for my particular use of the cloud? 

For example, businesses using the cloud for elasticity purposes need to understand what amount of capacity needs to be available, and how quick the ramp-up needs to be (contrary to popular belief, cloud capacity is not limitless).  Businesses using a cloud-bursting model need assurances that complex configurations will work properly and seamlessly, with minimal impact on the end user experience.  These businesses must determine how quickly and at what traffic threshold they must cloud-burst, how much capacity they need and what traffic threshold should initiate "ramp down" (ensuring they pay for only the cloud support that is needed, and no more).

Finally, businesses using the cloud to support business applications must consider, first and foremost, performance requirements for end users in order to reinforce them in SLAs.  For a business using cloud services on occasion to support behind the scenes, back-end applications like number-crunching, slight and infrequent dips in application performance may be tolerable.  But for a business using cloud computing to support a high-visibility application or service for a worldwide base of end users, unpredictable stumbles on the part of the cloud service provider are just unacceptable, and extremely high performance requirements must be built into the SLA.   Often businesses automatically assume and of performance from services like Google App Engine and Amazon EC2, but this can be a mistake.

Performance Testing:  Putting Cloud Customers Back in the Driver's Seat

Once businesses understand why they are using the cloud and evaluate and select vendors that can support their performance goals, they need to commit to ongoing, rigorous performance monitoring - during the cloud vendor selection process as well as before and after application deployment.  Monitoring is the only way for businesses to make sure that not just implicit parameters (more general availability and security guarantees, for example) of their SLAs are being met, but also explicit parameters (specific, unique, business-goal-driven, performance-focused metrics).

But it's important for businesses to monitor the right way - which means, testing cloud applications the same way your end users and customers use them, from their realistic perspective.  This approach conveys the true nature of the experiences your cloud service provider is delivering based on what your customers are doing (i.e. the applications and services they are using), when they are doing it (during peak or normal traffic periods) and from where they are doing it. 

The "where" question can be particularly challenging, because end users are interacting with applications and services under a highly diverse set of circumstances including different geographies, ISPs, connection speeds, browsers and desktops - known as the "last mile."  Businesses must therefore monitor applications across numerous last mile scenarios in order to gain the truest view of performance for the most comprehensive set of end users.  This "outside-in" monitoring approach enables businesses to trace application performance from their end users' browsers all the way back to the cloud service provider's data center, and identify any and all performance-impacting variables in between. 

By monitoring, businesses can become aware of any performance issues, identify root causes (including those that may lie with the cloud service provider) and achieve SLA negotiating leverage.  For example, a business may identify application latency for end users in a particular geography and trace this performance problem to a cloud service bottleneck, such as under-provisioning in a regional data center.  Armed with this data, the business can incite its cloud service provider to take the steps needed (add more dedicated capacity, for example) to meet and uphold their application and service performance requirements.


The ability to demand and validate performance for cloud-based services and applications lies in understanding why you are using the cloud in the first place; evaluating providers based on your corresponding performance goals; and then establishing SLAs to support these goals and continually monitoring to ensure these goals are being achieved. 

Performance testing is an essential element of this process.  The day should come when cloud service providers will comprehensively test and monitor performance quality (from the actual end user's perspective, when appropriate) themselves, and be able to guarantee up front (and continually validate after the fact) more specific performance-based SLAs tailored to individual customer needs.  Ultimately, this ability to put forth more meaningful, relevant SLAs should be a key determinant as to whether any given cloud service provider makes it to "round two."  But until then, the onus for testing, measuring and validating performance lies on the businesses considering or using cloud services. 

Fortunately, today's performance management solutions are available in a SaaS, pay-per-consumption model, making them faster, easier and more cost-effective for businesses to use than ever before.  In addition, these solutions leverage comprehensive testing networks comprising real user desktops and devices, which give businesses a critical, realistic first-hand view into how different end users and customers around the world are experiencing their cloud-based services and applications.

Ultimately, performance monitoring can be a key to creating SLAs that drive greater confidence and wider adoption of cloud computing, helping businesses derive the flexibility, scalability, cost and management benefits they seek while maintaining confidence and control over performance.