Cloud Applications; testing on the cloud

The last few weeks I get a lot of requests to tell something about testing and cloud, like this interview for the Australian newspaper Sydney Morning Herald. And one of the most asked questions of course is what’s different in testing on the cloud and where do you need to pay extra attention at.

Cloud applications are still few compared to traditional applications, but they are the future. But what are cloud applications? When the question is asked “can you name a few cloud applications?” most people answer Salesforce.com, Facebook, Google Apps and even Microsoft Azure. Four hits (where one isn’t actually a cloud application), as the best known examples. Are there more? Yes and they are growing in numbers!

Note: Microsoft Azure is not a cloud application, but an infrastructure and platform.

But how do we test these cloud applications? What’s so special about them that they need a different type of testing than traditional applications? Cloud applications are applications that are created to leverage the opportunities the cloud gives them, but they also work with the disadvantages the cloud offers, like, for example, standardization.

The cloud is defined by its service model, deployment model and usage

The cloud is defined by its service model, deployment model and usage

Mostly cloud applications are based in the third cloud layer: SaaS. They are Software as a Service solutions that run completely on cloud infrastructure and platforms. And that is exactly the reason the testing of SaaS applications is different from traditional applications. When they are integrated in the current architecture they need to be tested on three levels: namely the infrastructure, the platform and the application itself, see figure. The usage of standard services of applications also means a change for system testing. Functional testing will be executed at a minimum, as the standard applications are already tested and approved by the supplier. But that doesn’t say anything about how it integrates into the client’s cloud.

But that’s my idea. How do you see this?

Cloud cracks; break down or support

This post was originaly posted by me on blog.sogeti.com

Last week we all heard about the failure of the Eastern US data center of Amazon’s Web Services (AWS). And now there’s more negative talking about the cloud coming up. The cloud is certainly starting to show its cracks.

But is this a bad thing? Is it a not good thing for the cloud’s image that it wasn’t reacting more so than multiple sites and services, like Reddit and Foursquare, that went down? No, it’s not! For the first time we’ve seen what can happen when the cloud fails. And we can now keep it in mind when creating these services and we’ll know what to do when it happens again.

As this excellent post by Scott Gilbertson on Lessons From a Cloud Failure: It’s Not Amazon, It’s You indicates, cloud users should “design with failure in mind”. A cloud is also software and software can fail. But everybody was on ‘Cloud 9’ with the cloud and only the pessimists were talking about cloud failures. Now they’ve seen what can happen and they can prepare for it. Not only the cloud providers like AWS, but also the owners of those cloud services.

Cloud providers and brokers should have recovery mechanisms in place in case of a disaster. According to Gartner: “Any offering that does not replicate the data and application infrastructure across multiple sites is vulnerable to a total failure.” Cloud providers should have guidelines concerning business continuity planning, detailing how long it will take for services to be fully restored.

Again, according to the research firm Gartner, the cloud market will grow to $102.1 billion next year. Companies will continue to weigh the benefits of the cloud, its massive cost savings and easy scalability, against the relatively small risk and annoyance of outages – risks and annoyances that could also have happened with a failure in their own non-cloud data centers.

The level of cost savings gained from moving to the cloud depends on all kinds of variables. The study by Booz Allen Hamilton The Economics of Cloud Computing in 2009 found that “the benefit-to-cost ratio of a non-virtualized 1,000-server data center could reach 15.4:1 after implementation, and total life cycle cost may be 66% lower than maintaining a traditional data center.”

In the AWS case, luckily nothing catastrophic happened; no private data was lost or ‘left on the street’. So everybody can sleep well. However, this failure helps to build the hype around the cloud into a more supported use of its services. The failure doesn’t make cracks in the cloud so it’ll break. But it will make cloud construction better and we will be able to enjoy the benefits even more in the near future.

What I would say is that Amazon, other cloud providers and their cloud customers will learn from this outage, because these savings from cloud are simply too great to dismiss, and they will keep the customers coming.