As more and more companies are pushing their apps on cloud, industry is facing a new challenge of monitoring performance of the apps on various clouds and measuring the SLAs for application performance in cloud. I wont be astounded if someone comes up with a new term "ALAs - Application Level Performance" in near future. As cloud itself has to fulfill composite set of expectations like auto scaling, billing, on demand provisioning etc. its becoming difficult to segregate the root causes of application level performance, simply because cloud has many layers to track and applications are becoming more and more distributed, loosely coupled and difficult to manage. In such a complex ecosystem, tracking application performance is a real challenge in front of companies working in the sphere of APM.
How important is APM?
APM is not a revenue generating solution for enterprises. However, its the core of IT services as the thrust of APM is to fulfill SLAs and make sure the end user experience is of highest quality. In a highly competitive market, excellence plays the most important role. If you are not providing high quality solutions to your customer, you are already out of the market. Customers need contemptible, faster and better solutions. In such a fiercely competitive market, APM plays key role. Instead of having a reactive processes, companies are looking for proactive processes.
As mentioned in one of the research report from Gartner - The factors most responsible for the increased attention now being paid to the APM process and the tools and services supporting it does not come from IT, but from the business side of the enterprise, which has, during the past decade, fundamentally changed its attitude toward IT in general. Line of business and C-level executives now generally recognizes that IT is not just infrastructure that supports background workflows, but is also, and more fundamentally, a direct generator of revenue and a key enabler of strategy.
What are the dimensions of an APM solution?
Gartner defined following 5 dimensions of an APM solution:
- End-User Experience Monitoring - the capture of data about how end-to-end application availability, latency, execution correctness and quality appeared to the end user
- Runtime Application Architecture Discovery, Modelling and Display - the discovery of the software and hardware components involved in application execution and the array of possible paths across which these components could communicate to enable that involvement
- User-Defined Transaction Profiling - the tracing of events as they occur among the components or objects as they move across the paths discovered in the second dimension; this is generated in response to a users attempt to cause the application to execute what the user regards as a logical unit of work
- Component Deep - dive monitoring in application context - the fine-grained monitoring of resources consumed by and events occurring within the components discovered in the second dimension
- Analytics - the marshalling of techniques, including behavior learning engines, complex-event processing (CEP) platforms, log analysis, and multidimensional database analysis to discover meaningful and actionable patterns in the typically large datasets generated by the first four dimensions of APM
What would be suggested features for an APM supporting Cloud Apps?Besides the above dimensions for a typical APM solution, I can think of the following features for an APM supporting the Cloud Apps:
Companies working in this segment:Why so much focus on APM?
- Support for multiple clouds and ability to provide a CMDB for cloud components.
- Agent less architecture to reduce performance monitoring side-effects
- Integration capabilities with cloud provided monitoring tools
- Auto sensing of application performance degradation and isolation of the cause from cloud.
- Integration capabilities with ITIL compliant Service Desk/IT Operations Management Tools.
- Ability to define and translate application performance in terms of business SLAs.
The natural answer is market size and complexity of cloud based applications. Also APM is surely an expensive phenomenon. Business owners need to understand what is more expensive – the cost of application or the cost of customers moving away from their businesses due to lack of QoS. It’s a tread off business owners need to understand and surely it’s going to be a headache for most of them. APM solutions are available in wide range – from cost perspective and from features perspective. There is no single answer to the question like which is the best APM tool for my need. Since I see cloud to be the future of IT, I see APM to be the most critical area to tame for IT managers and hence I can see huge interest companies will have in APM especially while moving their apps to cloud. Moreover, IT services companies will have to heavily rely on good APM solutions to make sure they are delivering a right solution to their customer.I can foresee the QA teams in IT and consulting services using and relying heavily on APM tools. In short I can see a bright future for APM companies and the consultants working in this highly challenging area of specialization.In next article:
- How does and APM tool look from inside?
- What are various components of an APM tool?
- What is an agent based and agent less APM tool? Which approach is better?
- How does a log processor work?
- How application deep diving happens?
I will have answers to all these questions with architecture and block diagrams to explain each of the APM components in detail.