Availability and Performance Monitoring: A Cloud Hosting Primer January 31, 2012 It is always surprising to me the lack of attention that is paid to monitoring when customers purchase cloud hosting services. Mostly, I think it is because the business owners and many system administrators don’t really understand the complexities of properly “instrumenting” even a moderately complex application (web or otherwise) and take it for granted. Monitoring is divided into two basic types – performance monitoring and availability monitoring. Both types are very import. Without them, you are doing business blind. Let’s take a look at availability monitoring first. For most business owners it is important that: a) their cloud hosting partner can provide a record of service outages for SLA purposes and b) they are alerted to service outages quickly so their business impact can be minimized. These requirements may seem straight forward but they’re not. For example, what exactly constitutes an outage? From an SLA point of view there are many ways that this can be measured: from doing a simple “ping” to see if the web server is alive to complex “synthetic transactions” that simulate multistep user transactions. Furthermore, you must decide if these availability checks are going to be done in a way that allows you to distinguish “middle mile” Internet problems from outages directly related to your cloud hosting provider. It’s often important to know if it is just you (or just one customer) or is it everyone in a particular region that is having issues reaching your site. To complicate things further, web applications typically have numerous sub-components that execute different types of user transactions and maintenance routines. Each of these needs to be properly instrumented, logged, and alerted on by your cloud hosting provider to create of accurate picture of system availability and assist in troubleshooting. While modules exist for monitoring standard web and database components, to create an accurate picture of custom applications requires the cooperation of the software architect to provide the appropriate application workflows and “hooks” into the system. While almost every web application is monitored (at least minimally) for availability by cloud hosting providers, far fewer provide adequate performance monitoring. This is a mistake. Site performance is proven to be a critical factor in the success of commercial and non-commercial web properties. If a portion of your audience is overseas, performance monitoring even more important. Greater distance from the origin site means slower site performance and the greater possibility of slowdowns. A good performance monitoring service will allow you to track page load times continually from a large selection of points around the globe. It will also let you to establish real world performance baselines for evaluating future code and system configuration changes. At Carbon60, we put a lot of emphasis on correctly “instrumenting” the applications that we manage. Getting an accurate picture of system availability and performance is critical to achieving our SLA objectives and maximizing the value we deliver back to our customers. Our performance and availability monitoring services are built around a suite of monitoring tools that allow us to instrument, log, report and alert on virtually any process in near real time from local and global checkpoints. To get the most out of your cloud hosting provider, take the time to ask about how they will monitor the availability and performance of your application. It will be time well spent.