Latest Articles
12.21.2012What Can Rendering Service Market Get From Cloud Computing?
12.20.2012Penetrating the Japanese Social Gaming World With the Help of Japanese Social Gaming Companies
12.19.2012Cloud-Based Rendering – the Logical Next Step for Render Farms
Archives
Call 855-466-4678
This is part one of a two part paper on the testing and monitoring of cloud-based applications. While the general principles are similar to those used for more traditional software, there are significant differences caused by the tendency of cloud-based applications to increase and reduce their instances. Any cloud-based application worth its name would naturally come with a full set of monitoring tools. After all, what use is an e-commerce application that attracts clients, helps them make selections and then fails at a critical juncture? In the traditional web server environment, administrators would create elaborate checklists and track the application performance at its critical points. The same is required to be done in the cloud environment but there are a few important differences. To begin with, the entire cloud infrastructure is not within your grasp as would be the case with traditionally hosted infrastructure. This imposes a few limitations. You are restricted to the diagnostic tools that the cloud service provider gives you (they can range from basic to comprehensive depending on what you have hired). Alternatively, you can create another application that has some privileges over your main application and runs a diagnostic program in the background. This diagnostic application works as a user and checks to see that all functions that a user would use are available and return sensible values. A key issue is the large numbers of virtual machines that can be created and destroyed in the course of a working day. Your diagnostic tools have to cater to this changing number and keep a health check on each. This complicates the scenario somewhat (and that is an understatement). New diagnostic software is able to monitor many more parts of the software than was possible earlier. Much better checking algorithms mean that there are fewer “false positives”. Here are a few of the testing methodologies in widespread use – Direct testing – this is the simplest method where the checking tools mimic a real user. Standard parameters are supplied to the software as a user response and standard answers are expected. Any variation is obviously cause for further checking. In addition to the returned values, the software also monitors the time taken to produce a response. While there can be variations, any large variations are a cause for concern and must be investigated. Back end processes – some diagnostic software check out the backend processes. They will examine the database and send test queries to the database server to see its response and performance. Network and other infrastructure – the delivery infrastructure needs to be checked out regularly. This means the various routers, switches and other hardware including the DNS servers etc. Testing on these lines also includes the firewalls and other gateways. A glitch in any of these could mean that the application would be up and running but the end user would still not get her work done. The idea behind such testing being to ensure that while the cloud service is available, the various security and networking devices do not interfere with the delivery of the service. Monitor Big Data Clusters – if your application uses big data, then your diagnostics have to be able to check out your Hadoop clusters to ensure that the processing is going on as desired. Failure of components of the cluster will degrade application performance very sharply. Modern diagnostics for cloud applications handle this very fluid situation quite competently. The results are presented graphically in a very easy to understand manner. All of this is making for more robust cloud-based applications. A special challenge is posed by mobile users. If the diagnostic results are to be seen by a user using her smartphone – say, the CIO checking out the services while in a meeting – then the dashboards have to be constructed in a way that the smartphone can handle. This means prioritizing of the data to be displayed rather than merely shrinking the display. This calls for special skills – GMO Cloud for instance, provides additional monitoring services for thorough checking of systems and applications installed within it. In the second part of this paper, we will look for how test results are interpreted and analyzed.