SaaS Application Monitoring: Introduction and Buyer’s Guide
SaaS application monitoring tools offer a wide selection of features and functionality that can help IT admins effectively monitor and manage any number of applications. See what key considerations you should keep in mind when you shop for your cloud-based application performance monitoring service.
It is sometimes difficult to effectively monitor and manage the large number of increasingly complex applications running in today's enterprises. For some administrators, the idea of installing yet another application to help monitor the ones already in place is unappealing. Using a software as a service (SaaS) application monitoring tool is an obvious alternative to installing, configuring and maintaining an on-premise solution.
Fortunately for system administrators and application owners, there are a number of SaaS application monitoring services with a broad set of functionality. As you evaluate your options, consider these key features including: tracing and root cause analysis, measuring end-user performance, comparative analysis and, of course, pricing.
Tracing and Root Cause Analysis on the Server
Application performance monitoring services can provide both aggregate and detailed data about your application's operations. Agents that monitor your application collect performance data during application execution. In some cases this may require modification to your application, but not always. For example, the NewRelic Python agent can be invoked when the Python interpreter starts so your Web application does not have to be modified.
Performance monitoring does not need to put excessive demands on your application, further complicating your efforts. Tracing can be used to identify the slowest operations and capture specific invocation parameters and details about procedures or methods called along with SQL queries used to retrieve data for the transaction. For in-depth analysis, SaaS monitoring tools can collect stack traces that provide detailed views on executed code and its timings.
Distributed applications can have components that interact in multiple ways. Methods and database queries may be called by services running on multiple servers or by different modules within a service, making it difficult to maintain an understanding of calling patterns. Topology views, like that in OpTier, can provide a high level overview of interacting components along with metrics on run times and error counts. The auto-discover feature in AppDynamics automatically generates topologies of application tiers and services.
Aggregate metrics and high level views are helpful for understanding the overall health of your application performance, but when there is a problem, you need detailed information for root cause analysis. For example, users who are experiencing slow transactions will want to quickly isolate the cause of the problem, which could range from high CPU utilization on an application server to poor SQL query performance because an index was mistakenly dropped to an insufficiently tested piece of code deployed in the latest release. To isolate these kinds of problems, look for the ability to drill down into calls to application code and examine SQL explain plans.
About the Author
Dan Sullivan is an author, systems architect, and consultant with over 20 years of IT experience in systems architecture, enterprise security, advanced analytics and business intelligence.
During evaluation, assess how well various SaaS application monitoring services support your mix of application and database services. The Scout application monitoring service, for example, has multiple plug-ins for monitoring MySQL, PostgreSQL, Redis, CouchDB and MongoDB.
- SaaS Help Desk Buyer's Guide
- SaaS Office Suites Buyer's Guide
- SaaS Project Management Buyer's Guide
- Cloud Customer Service: 3 Top Solutions Compared