The Six Levels of Application Performance Maturity
The Six Levels of Application Performance Maturity
Learn how to take application performance monitoring further with deep scripting and machine learning for more advanced performance maturity.
Join the DZone community and get the full member experience.Join For Free
Maintain Application Performance with real-time monitoring and instrumentation for any application. Learn More!
Level 1: Hope and Pray
Many companies build business applications iteratively, starting with a proof of concept and then using creative internal and external talent to build out the concept into a working prototype, which is then extended into product.
I’ve seen systems built this way that deliver very powerful innovative ideas. The challenge is that they are often designed without any consideration of how they would be operated.
I’ve seen cloud-based infrastructures built from the ground-up with multi-tenant code bases, that have no monitoring integration.
The results are as you would have expected, a tough learning experience for all involved.
Level 2: Heartbeat
Companies that didn’t plan for a way to monitor availability or performance, often add homegrown systems once issues are identified, as these seem like a low cost and immediate way to resolve their issues.
By building scripts to ping specific servers and pipe the output into log files, the data can be presented on dashboards and provides a sense of achievement.
I’ve seen companies go as far as making in the responsibility of support to hit F5 every 30 seconds on instances of their web servers to confirm they are still working. And by using off-shore resources they can do this 24×7 with no material budget requirements.
This works up to the point when it doesn’t. And that is when the business realizes that just because servers have a pulse and websites display a login page, this is not indicative of availability or performance to their users. The problems persist, and it doesn’t matter how many servers you ping or web pages you refresh, a red-faced customer on the phone to support complaining about their inability to perform the service they are paying for wins every time.
Level 3: APM
Application Performance Monitoring (APM) has been the accepted answer within IT for decades. The idea is simple, you get to monitor key parameters of the technology to make sure everything is working as expected, and if anything is running slower than expected, or not running at all you are alerted.
But individual systems are not the issue in business anymore. With redundancy and failover, the issue is not often one of an individual system resource failing. The issues are now much more complex. APM systems will alert you of every nuance, and it can be incredibly hard to discern critical alerts from the sea of false positives. And when a critical series of events takes out a business process it can be just as hard as with heartbeat alerts to identify and remediate the root cause.
Many customers of APM solutions find that they need more knowledge about elements of their environment that is provided by their APM vendors solution, despite the colorful ticks on the list of support components on the datasheet.
Level 4: APM With Deep Scripting
Customers of APM solutions start down the path of adding code to their applications to start to provide their APM solutions with the data they need to be able to understand all the alerts that are available. Before they know it millions of lines of code are being managed by their operations team. This code needs to be maintained to support all the changes in platform, infrastructure and applications that are implemented as the business evolves. The teams who manage this code are always fighting to keep current, and with changes in staff over the years this becomes an expensive limiting factor on their ability to improve their performance.
Ask any CIO or Director of operations about the code base of scripts they maintain as part of their APM solution, and you will see the dictionary definition of frustration.
Level 5: Transaction Tracking
While transaction tracking as a technology is not just used by those who monitor business applications, it provides a major step in improving a business’s understanding of the experience a customer has when using their applications.
Transaction Tracking allows a business transaction to be viewed at every step that it goes through. For example, you can follow a transaction from the moment a user visits a website all the way through the process until the transaction is complete and the user leaves the site.
A single transaction may move through hundreds of systems, but by understanding how it is flowing, you can see the indicators of issues well before the user.
All of the data being captured by APM type systems can now be considered in context. With the actual data of the transaction being evaluated.
The difference between this and APM is profound. The Operations teams can now monitor the business as it is envisioned by the application owners. Shared goals allow all parts of the application stack to consider the same desired results, reducing the time to decide on actions dramatically. When issues occur, they are rapidly identified and remediated.
The impact on the user is also profound, they are likely to see absolutely zero performance of availability issues.
Beyond Level 5, improvements allow for the operations team to do more and be more efficient.
Level 6: Transaction Tracking With Machine Learning
Using Machine Learning based artificial intelligence allows transaction data to be used to determine issues and forecast actions that will be needed from the subtlest of indicators.
Alerts are not provided with an analysis of the most likely causes and the most effective actions. Automation of much more of the processes allows for increased scale.
Once a business has achieved level 6 of their maturity, they are using the latest most innovative solutions available, and have the ability to grow their business at the speed of business without seeing linear increases in cost.
They have reached a place where scale provides its own economic advantages.
Published at DZone with permission of David Liff , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.