Everybody seems to be talking loud about cloud computing nowadays. But the recently reported outages at Salesforce, Amazon and Google has made us think otherwise and wonder if the cloud is really ready to meet all the hype and attention its getting.
No doubt, there are cost savings related to licensing, maintenance and application / server management. But does this ensure that your end users are getting the online experience you want them to have?
When a 40-minute outage at Salesforce.com affected thousands of customers around the world in early January, it generated quite a bit of cry throughout the industry. Dan Goodin exposed the dark side of cloud computing in this article “Salesforce.com outage exposes cloud’s dark linings” when Salesforce.com suffered an outage that locked more than 900,000 subscribers out of crucial applications and data needed to transact business with customers.
Many cloud computing providers provide custom built management consoles or control panels for managing server resources. These consoles provide customers with availability statistics and status messages in the event of significant outages that impact end users.
Rich Miller of Data Center Knowledge and Lenny Rachitsky from WebMetrics are among those who voiced concerns about the effectiveness of a cloud or SaaS provider hosting its own network uptime panels / dashboards. Keynote Systems Vice President Vik Chaudhary suggests that, “… the prospect of a cloud application provider doing their own performance monitoring is akin to a fox guarding the hen-house.”
The first and foremost thing to keep in mind is that even you are hosting on a cloud or have a SAAS app running somewhere, your end user expectations are no different then the regular client server application. So in a generic sense User Acceptance Testing is not much different then testing on a Client Server Architecture.
Remember web based application environment in the cloud is a jigsaw puzzle of pieces. At the core you have your virtual hardware followed by your operating system. Each of your servers is then configured differently depending on its specific duty. You may have application servers, web servers, search servers, database servers etc. Each of these servers needs to be monitored from several points of view – both internally and externally.
Though you dont have direct access to performance monitoring like in a Client Server Architecture. But still you can follow following steps to make sure your users are getting the experience you want them to:
Your monitoring system can be the difference between keeping your systems alive OR having unhappy customers and missed SLAs. It can help you pinpoint exactly what went wrong and reduce the time to identify and solve the issue.