In my last blog, Part Two of a four-part blog series, I discussed performance management from the deployment perspective. The second perspective is that of the consumer of the cloud – i.e., an enterprise deploying applications in the cloud.
Start with Part One: Performance Management Challenges for Cloud-Hosted Services
Start with Part Two: Performance Management from the Cloud: The Deployment Perspective
Performance management OF the cloud refers to the management of business services that are partly or wholly hosted in the cloud. Monitoring, diagnosis, and reporting OF the cloud is integral to managing the user experience for cloud-hosted business services so that cloud consumers can proactively identify QoS performance bottlenecks, pinpoint the root-cause of problems, and take corrective action to ensure that the cloud service performance and end user experience does not degrade.
If you decide to host your key business applications in the cloud, you must ensure that the end user experience matches that of your in-house business services.
So what do you need from a performance management solution to effectively monitor the performance of applications hosted in the cloud?
Firstly, you need to know how your business service is doing: when is it working and when is it not? Having the ability to monitor the service performance will allow you to be aware of performance problems that impact the user experience before you get user complaints.
Different approaches are available for measuring and reporting on service performance. In an active monitoring approach, the monitoring system emulates user requests from different locations and measure the service availability and responsiveness. Passive approaches based on packet sniffing or different request capture techniques are also available for service performance measurement.
The toughest performance problems for you to tackle are those where the users of a business service complain that “it's slow” or “it's not working.” To address such situations, you need a performance management solution that gives you visibility into every layer, every tier of the infrastructure – from the networks to the servers to the individual applications (web, databases, domain controllers, messaging servers, etc.).
For applications hosted in the cloud, it is essential that the monitoring system monitor your connectivity to the cloud, the performance of each cloud instance, the network throughput to the cloud provider, the operating system of each of the cloud instances, as well as the applications running in each of the cloud instances.
At the same time, you, the IT manager, may not have the expertise in each of the applications that support your business. So while in-depth metrics for each tier are important, even more important is the ability for you to quickly determine when a slow-down happens, where the problem is. Is it in the network? Is it in the private cloud? Is it the public cloud? Is it the network connectivity to the public cloud? Or is it one of the applications – the database? the web? etc.
If the diagnosis process can be automated, it is even better – you don't have to spend hours trying to figure out which expert to call to resolve the problem. With one click, you can identify where the problem originated and contact the appropriate domain expert.
A single business service may involve applications deployed in your infrastructure and some others deployed in the public cloud. Having the ability to monitor cloud-hosted applications and on-premises applications from the same console is essential.
Particularly in cloud environments, you will be faced with situations where you don't have control over all the servers your applications are running on. In such a scenario, you want the management system to include external monitoring capabilities so it can at least give you “black-box visibility” (e.g., availability and response time) into these servers and applications that you do not control.
Another approach to address the partial visibility problem is to add additional instrumentation at the boundaries where visibility exists. For example, if the network team does not provide access to the network elements, a measure of network performance can be gleaned by looking at the percentage of TCP retransmissions that are happening from servers connected to the network. If the servers show a very high percentage of packet loss, chances are that the network connecting them to the clients has an issue. No additional access rights are needed to arrive at this conclusion.
The key benefits to enterprises from a management solution that monitors the performance of the cloud are:
- Enables you to manage the experience of users accessing cloud hosted business services
- Ensures high uptime and peak performance by rapid diagnosis of problems
- Facilitates effective capacity planning by tracking the usage of every tier of the service
This blog is the third in a series of four on cloud management.
Srinivas Ramanathan is CEO and Founder of eG Innovations.