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
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.
Yesterday I did two presentations at the TMap Day 2011. It was the event where new trends and developments around testing and TMap were presented. I myself did one of the central presentations, together with Rik Marselis, on PointZERO. And another interactive session in a debate around what the Cloud can mean for testing. Other tracks given were about Mobile App Testing, (Fr)Agile, Test Data Management, Quality in Control, Infrastructure Testing, Model Based Testing and partner sessions from HP, Microsoft and IBM.
The whole day was a success as far as I could tell. But I know two highlights on the day. Both of them were done in the central sessions. On of that was the closure of the morning. We had a puppeteer to recap the morning. Too bad he swatted Rik and me but a great entertainer. The other one was a clip on the presentation Rik and I did about PointZERO. Rik showed a movie that got people thinking (and laughing) about ‘watching’ for specific defects.
The cloud is full of the thought it propagates. It’s not about a new idea of providing computing power, but a business model around offering standard, metered services. But maybe the trend is that the cloud is fading; full of hot air. In Gartner’s newest ‘Top 10 Strategic Technologies for 2012’ Cloud computing has fallen from the top spot it had the last 2 years to number 10. But what comes out of this article is that its ideas will stand. Like for instance with the launch of Apple’s iCloud it was clear to me that there is a connection between mobile apps and cloud. And also with, for instance, the efficiency of data centres and big data. These all uses the principle of the cloud.
In my opinion the future will result to a complete fade of the cloud. The cloud will merge with other developments in the future. Most IT will dissolve into services like that of Utilities (water, gas and electricity). And therein lies also its fallback. These ‘utility services’ have to cover a specific need, like the apps now do on your smartphone or tablet. And it needs to cover only those needs. When a greater need is covers it can only go wrong; there’s either a shortage of functionality or a surplus of it.
Because of those ‘delimited’ services, a whole different way of working arises in the world of Software Developers. These companies need to evolve into Service Integrators; there services don’t directly have to be related with cloud computing. But it will support another way of working; working in short cycles for standard work packages.
How do I see this? Well at first there is the fusion of services already in place. Google Apps (like Gmail) and Hotmail are already ‘in the cloud’ and nobody thought about it, or even worried about it. People are using applications like Evernote that are based in the cloud and the content is downloaded to your ‘app’ when you open the application. And now with Apple moving data into its iCloud it accelerates it even more.
In the near future more and more mobile apps will be dependent on an Internet connection to get the data or computing power it needs. Not only by downloading it, but by using it real time. Like updates on your flight schedules, but also your phone bill and even bank accounts. Those things will not stay on your phone or tablet, but have a small client running and using the cloud as its back office. It even looks like we are moving back to the client-server model, but with a better usage of the back office…
Tip: Keep your eyes open when using these cloud-based applications. There can always be a risk!
Thus, the cloud itself will increasingly fade the background, but its ideas will be incorporated in more and more applications.