Performance Monitoring in the Cloud

What financial incentive does your cloud vendor have to tell you that there are performance issues with their servers? Not much.

This is why you need your own view of how your application is operating in the cloud. You can install Correlsense’s SharePath monitoring software into Amazon’s AWS (Amazon Web Service) and Windows Azure clouds.

It probably does not make much sense to monitor the performance of virtual machines in the cloud, since your company would be sharing that server with other companies, instead it makes sense to monitor the performance (cpu, disk paging, memory) of the OS inside that virtual machine itself.

As for database monitoring, that could be done from the application and not necessarily plugging your own monitoring agent inside, say, Oracle. That integration depends on the cloud provider and database vendor.

An application monitoring tool provides information on uptime (SLA), response time, network latency (i.e., web page response time), and transaction throughput. This is monitoring from the user-perspective rather than focusing on each individual component, which is what you get in the absence of an application monitoring tool. The latter would make IT folks happy. The former keeps the customer happy.

Monitoring individual pieces of the infrastructure is not the goal, but the ability to pinpoint problems in individual pieces is paramount. This is why the monitoring tool lets you drill into SQL statements, individual lines of code, switch traffic, application and web server performance.

The goal of application performance monitoring is to be proactive and not reactive. As web traffic builds and latency develops, system administrators can focus on issues before they become a problem, heading off support tickets and phone calls before these minor problems cascade into a major problem.

The monitoring system works by entering a model of the infrastructure into the system. The system can discover new nodes once the basic model is built. Individual transactions can be modeled as well. For example, a stock brokerage account view-history transaction might look like this: browser rendered, uses presses get trading history button, application lookup up user’s DN (distinguished name) in Active Directory, application gets transaction history by using the Java class com.mycompany.account.getHistory which executes the SQL statement “select * from history where account = myAccount.”

The cloud has shaken up the hardware vendor business model, with database and server vendors rushing to affix the label “cloud” to their offering. This does not mean the IT department is cut off from the ability to monitoring their application, on the contrary, it enhances it by allowing integration with the cloud platform and the ability to more easily spin up more instances when throughput is an issue.