The Rise of Cloud-based APM Solutions
In my last blog, I called today’s enterprise application landscape “a dog’s breakfast”1 as far as complexity and heterogeneity are concerned. A growing number of APM vendors would likely agree. Regardless of whether you are on the vendor or the consumer side, application management— as opposed to simple application monitoring— is an inherently difficult task.
Perhaps for this reason, enterprise-grade Application Performance Management solutions—those capable of monitoring, correlating and triaging integrated, distributed applications while quantifying end to end performance—have traditionally had a reputation for being complex and difficult to deploy. Virtually every enterprise-sized company is supporting a mix of applications written in multiple languages, running on different OSs, anchored by exotic technologies such as caching and acceleration and—just to put the whipped cream on the sundae—increasingly extending into the public cloud. Monitoring each of these components in context to end to end execution can be a daunting proposition– which is why APM products tend to be more complex to deploy than, say, a server monitoring tool.
That being said, an increasing number of IT organizations are seeking an alternative, and, not surprisingly, an increasing number of vendors are now offering “APM as a Service”. The idea of harvesting the honey without working to gather the pollen is attractive. SaaS-based APM eliminates much of the “manage the management tools” administrative work traditionally associated with on-premise-hosted toolsets. Which is a good thing, since many potential APM customers are seriously considering a “cloud first” approach.
Consider the following findings from EMA surveys of IT professionals:
- The average enterprise-sized company requires 2 to 3 IT specialists to “manage the management tools”
- When asked how many enterprise management tools their companies own, survey responses range from 0 to 2,500. The average number is 50.
- On average, 70% of the products owned are in use; the remaining 30% are “shelfware”—basically wasted budget
- More than 30% of companies are running “distributed hybrid cloud applications spanning on-premise and public Cloud”—and 40% are delivering at least one production application via SaaS
- Despite broad use of public cloud services, more companies are using “homegrown tools” (40%) than “application management enterprise platforms” (39%). to monitor and manage them.
- Fewer than 50% of companies have, as yet, invested in full-blown enterprise APM platforms. Instead, most are managing applications with homegrown tools or one-off End User Experience (EUE) products that monitor a single dimension of application performance—such as response time– from the browser, network, or synthetic transaction perspective. Without comprehensive visibility to both application execution and underlying infrastructure components, root cause analysis is essentially a manual process.
- And when asked about their most important considerations in selecting new enterprise management tools, the top three selection factors are:
- #1: Cloud- hosted versus on- premise hosted product
- #2: Cloud-ready (support for monitoring cloud-hosted applications and services)
- #3: Mobile-ready (While Mobile applications are considered one of today’s hottest topics, mobile monitoring capabilities came in a distant third).
While each of these findings is compelling on its own, taken together they provide an encapsulation of the factors which are REALLY driving the APM market:
|#1||Companies are seeking the convenience of SaaS and PaaS in their management toolsets Particularly as applications grow more complex, more sophisticated tools and higher skill levels are required to manage them. IT executives, in particular, are concerned about their ability to find and hire personnel with the right skills. These concerns extend to the maintenance and administration of enterprise management tools assets, and the majority appear to prefer to “leave the driving” (in terms of tools deployment and administration) to APM vendors.|
|#2||While companies are embracing public cloud as a viable alternative to on-premise application hosting, most have not adequately invested in the tools necessary to manage cloud services. There appears to be significant pent up demand for cloud-ready APM tools. The volume of the demand will continue to grow until CIOs either tire of allocating scarce IT personnel resources to writing homegrown management tools—or until a critical application fails once too often|
|#3||With APM still under-automated even for on-premise applications, there is also pent up demand for products supporting internally-hosted applications. This is particularly true since it appears that many CIOs simply aren’t interested in taking on additional administrative overhead, regardless of the value proposition.|
So how does cloud-based APM work and is it the best option for every company?
Every vendor-hosted APM offering is different, and it is up to the consumer to go into the selection process with a clear understanding of what is most important to his/her company. Some offerings focus primarily on synthetic transactions, some incorporate deep visibility to application code, some monitor Internet performance as an adjunct to APM, etc., etc.
For potential customers seeking a cloud option delivering a comprehensive, end to end APM perspective, the options are limited. Here’s why. APM solutions capable of correlating application performance issues down to specific infrastructure components require “behind the firewall” visibility to foundational components such as servers and databases. On-premise-hosted APM solutions require that agents be installed on critical devices for monitoring purposes. To get the visibility necessary for deep triage and root-cause analysis, cloud-based APM products typically require a similar setup. “Behind the Firewall” components gather metrics and data, while “in the cloud” components do the analysis, correlation, etc.
In both cases, metrics are sent to an analytics-rich APM “platform” for correlation, notification, reporting, etc. For “on-premise” APM systems, the platform is installed and maintained by internal IT. For “cloud-based” APM, those capabilities are hosted and maintained by the vendor. Typically, a VPN or similar private connection is the communication vehicle between on-premise and cloud components.
IBM offers three APM options, which include a traditional on-premise version, a “lightweight monitoring” version, and a SaaS-based version. IBM’s Ben Stern has written an excellent article providing more detail at: Thoughts on IBM’s recently announced Application Performance Management SaaS offering.
One of the interesting features of IBM’s cloud APM offering is the fact that the three use many of the same components and leverage the same agents. This can be a boon for companies choosing to run more than one form factor. Some, for example, need departmental APM products for monitoring by Line of Business IT—but still want centralized consolidation and reporting. Others may have on-premise APM solutions at present but are seeking an easy way to move to SaaS-based monitoring/management. IBM’s solutions can support either use case.
There are a number of questions to keep in mind when selecting an APM solution, regardless of where and how it will be hosted. Cloud-based product “acquisitions” should be approached with the same rigor as on-premise acquisitions, even though the pricing and licensing are different. The same Requests for Comment (RFC) utilized for on-premise acquisitions may well be starting points for cloud acquisitions, and many of the questions will be similar.
Here are a few factors to consider selecting an APM product:
1. Is your organization pursuing a “cloud first” strategy?
- If so, a SaaS-based product may be the best option.
2. Are you running industry-specific applications which require visibility to a given protocol or standard?
- If so, make sure the product selected supports that protocol or standard
3. Does your company have data-related privacy concerns?
- Select a cloud product which gives customers options in terms of the locations of data repositories—whether they are on-premise, in-country, or “in the cloud”.
- Or consider an on-premise option
4. Are you interested in running multiple Departmental-level (or location-based, etc.) instances of the APM product?
- If so, a SaaS-based option may well be cheaper and more convenient, as well as enabling consumption-based billing.
5. Are you seeking to integrate the APM tool with products in adjacent spaces such as IT Service Management (ITSM) or Service Desk solutions?
- If so, make sure the APM solution is compatible in terms of APIs and data-sharing with products already in place.
Unique Pros and Cons of Cloud-hosted APM
There are also cloud-specific benefits which on-premise APM products can’t provide. For example, since cloud vendors have access to performance metrics across multiple companies, some offer an “opt-in” for customers to see their performance numbers in context to others within their industries. While SaaS-based APM platforms are essentially analytics-driven big-data repositories “in the cloud”, these types of cross-comparisons are not possible with traditional, on-premise APM solutions.
The “demise of the upgrade cycle is another big benefit. SaaS-based solutions are always at the “latest and greatest” version levels, giving customers immediate access to new capabilities.
On the con side, SaaS-based options are harder to integrate with existing tools, may well turn out to be just as expensive as on-premise tools, overall, and are always subject to the connectivity and network bandwidth of any other cloud-based service.
Is there a “best answer”? No there is not. “It depends” will have to suffice.
For more on this topic, check out some very timely related blogs published by IBMers as well:
1) By Detlef Kleinfelder: Monitoring: It is not a question of how but what
2) By Mark Walmsley: What you don’t know can hurt you: Severity 1 monitoring issues
1. See my prior blog entitled: APM as a Service: An Elegant Solution to an Ongoing Challenge ↩