ValueOps ConnectALL Product Community

 View Only

How to build a continuous application optimisation cycle by employing your favourite APM solution? – Part 1 of 2

By Anon Anon posted Jan 27, 2016 05:19 PM

  

Dilemma of the APM industry

 

 

One of the key issues in the APM market is the entrants of new vendors from unrelated background that are causing a cataclysm in the marketplace. This has resulted in a dilution of the original ‘APM’ term, which is constantly mutating to adopt new meanings. Through this article, I strive to cover the lost original mission behind ‘APM’ technology, so that APM users apply these underlying constructive steps to every APM deployment.

 

The APM maturity model stigma

 

There are vendor specific versions of APM maturity model that assists companies to evaluate their current standing. The central theme of this article is not to promote a specific vendor but to address the shortcomings on current APM usage. The APM maturity model is comprised of

 

1) Reactive or ‘Bucket Brigade’

 

2) Reactive Improvement or ‘Smoke Alarm Installers’

 

3) Continuous improvement or ‘Fire Prevention’

 

Next, let’s define the upper and the lower bounds of the maturity model with ‘Bucket brigade’ being the least matured and ‘Continuous improvement’ being the most matured. These are interesting analogies and explaining them in-depth with require another article. However, simply speaking – Bucket brigade is an organisation that is reactive to application problems and drags all IT resources to a war room to discuss problems and resolve them. Whilst, ‘Continuous improvement’ is an organisation that uses a continuous feedback loop to not just resolve application problems but also make use of ‘analytics and intelligence’ to consistently optimise and save issues from re-appearing. In the process of approaching the ‘APM’ concept, they allocate well-defined tier and underlying resources to manage different aspects of application problems.

 

As applications become more and more complex, the deep rooted central theme of ‘optimising application’ is lost in the midst of ‘fire-fighting application issues’, ‘performance tracking’ and ‘pre-empting new issues’. This is the number one reason why most organisations never climb the APM maturity ladder and continue to be a ‘bucket brigade’. In order to develop and upgrade your organisation to a ‘continuous improvement’ state, it is inevitable to consider “continuous optimisation pyramid” strategy (as shown in the diagram below, this diagram has been displayed for better mental visualization of the strategy recommended in these articles):

 

 

Figure 1: 3-step application optimisation pyramid

 

 

The detailed explanation of the three vertices on the continuous optimisation pyramid in fig. 1 is as described below:

1. Continuous Application Tuning or optimisation

 

From an architectural point of view, most applications divide into frontends (Mobile Apps, JSPs, ASPs, PHPs and HTML (5) pages), muck-in-the-middle (web-services, ESB layers, middle-ware technologies, sub-systems etc.) and backend (third-party API/systems, integration layers and database) components. The first step is to practice tuning and optimisation of the different pieces of your application. This is to comply with a very important lesson ‘prevention is better than cure’.

 

The first vertex of the pyramid i.e. ‘continuous application optimisation’ relates with tuning possibilities in all component listed above. For example, any page level optimisation (compression of images, Java-script, HTML, and CSS) that results in DOM construction timesaving that directly affects the response time of the application. This will result in more satisfied end user and better reputation of your company and its brand. Many APM solutions offer the power of ‘Synthetics’ that helps you to employ real browser monitor and full-page monitor to run dummy transactions to mimic end-user transactions. The key outcome of synthetic transactions is to allow proactive problem tracking and finding tuning windows in frontends. Similarly, ‘browser agent’ technology can be deployed for tracking the browser performance of our most critical applications to improve page load time and DOM construction time. On top of that, ‘traditional Java/.Net/PHP agents’ provide a good insight into the messy truth with the help of deep capabilities that they offer.

 

Key Benefits

The benefits of the approach mentioned in the step1 is that the insights allow ‘proactive optimisation’ of the various components so that minimal issues happen in the first place.

 

        ·         To be continued next week to cover the remaining two verticals, conveyer belt optimization and APM Solution optimization.

0 comments
0 views