Cloud computing is a complex setup, made even more so by the simultaneous use of a number of users. In order to fine tune the working and to ensure that each user derives best performance, service providers as well as users benefit by monitoring cloud performance. Cloud performance tools in common use monitor the virtual servers, physical servers, networks, data and shared resources in addition to applications and performance of each. The tools monitor data, usage and performance and compile information in the form of data that can be analysed and used to improve utilization of cloud resources to peak efficiencies.
What makes monitoring difficult is that parameters of cloud computing are still in an evolving stage and further, there are sub divisions such as private cloud and hybrid clouds. Again we have different component services such as PaaS, SaaS, IaaS, Naas and other cloud services. As such there is no one third party tool that does everything when it comes to cloud performance monitoring.
Here are a few popular cloud monitoring tools
- RevealCloud: is developed by CopperEgg and monitors performance and health of servers in private and public clouds for OS, system, process monitoring and server performance each five seconds. It is mainly for use on the server side to assist maintenance staff identify issues and resolve them. RevealUptime from the same developer works in conjunction to correlate data of user experience with server performance.
- Compuware: offers Gomez APM to monitor application performance of cloud services throughout the delivery line, issue alerts about problems and their impacts and thus help maintenance staff take remedial action. The highlight of this software is its ability to identify and pinpoint specific fault segment through the delivery chain.
- Zenoss Cloud: Monitoring works on public, hybrid and private clouds, delivering model based management of operations covering the hardware, network and software.
- Rackspace: Cloud Monitoring software is for administrators, allowing them to create APIs to send alerts about the total infrastructure and operating protocols.
Cloud monitoring needs to be carried out by cloud service providers and is equally important for end users of cloud based services.
Monitoring from Service Provider’s viewpoint
From the Cloud service provider’s perspective, the infrastructure performance report is vital. He needs to know about performance of storage, network and virtual machines among other components. An integrated infrastructure response time based report that gives an overall report on the virtualized environment. This is based on the time taken from the moment a request is generated by the user to the time it takes to load the application. The monitoring tool supports all applications independent of architecture and dynamically identifies virtual as well as physical resources the application uses. As cloud services evolve the monitoring tool should be able to recognize and integrate such changes. It goes without saying that the tool must work on all platforms currently in use. The tool also must factor in CPU usage, disk latency and usage, busy and ready percentages for memory and swap activity, network in/outs, host resource, virtual machine state and configuration to give as accurate a rendition as possible.
In short, cloud service providers need to know:
- Infrastructure response time and derived transaction metrics
- Resource utilization details—covers all aspects of the infrastructure
- Virtualization metrics—how many VM an app uses, time taken to create a VM and time taken to move app from one VM to another and to allocate resources to VMs
The process would involve:
- Data collection
- Data processing
From the user’s point of view:
A user is primarily interested in knowing the performance of the application hosted on the cloud, the key factor being the application response time or the time it takes for the application to load and run on a request by the user.
The task of developing a cloud performance monitoring tool is not easy given the complexity, the various services and usage patterns and that it is currently in a state of flux with definite standards yet to be put in place that will be universally implemented.
Image courtesy of jscreationzs at FreeDigitalPhotos.net