Monday, February 8, 2010

Time to rethink Application Performance Management - APM 2.0???

Hi Fellow SOA Practitioners' and Cloud Service Providers -

I am sure that many of you are struggling with monitoing highly distributed services that have stringent business SLAs.  I am wondering about how you are managing to tune the performance of the individual components that make up the business service or business process.  I feel that there are some key differences that need to be kept in mind in terms of what legacy APMs have to offer to us vs. what we need in these so called next gen APMs that are built to monitor and manage performance of a distributed SOA stack or a cloud based business service offering

Here are some of the salient features that differentiate this APM 2.0 concept from the legacy APMs.
  1. requires to have a deployer or Ops centric deployment view as opposed to a developer centric view
  2. built ground up for highly distributed service based deployments as opposed to the single appliction server container or single JVM based monolithic deployments (the forte of legacy APMs)
  3. should not force a developer of the code/ scripts to monitor potential perforamance bottle necks as the developer is trained to make things work and to have to force them to define monitoring scripts that require a mindset that looks at where things would break (from a communications perspective or from an integration perspective) is inefficient and error-prone
  4. does not force the definition of a per JVM definition of monitoring directives allowing for an highly distributed transaction view or an end to end business process view
  5. provides a visual flow like representation that can be combined with policy based definition of SLAs which has the ability to define SLA tolerance/ compliance ranges 
  6. is able to support on-demand run time enrichment/ augmentation of the payload that enables activation of monitoring capabilities on a live system as issues occur (or service execution pathways change) as opposed to predicting these performance choke points at deployment time based in known "execution paths"
  7. does not focus on logging of information and reactive analysis to enable monitors but can be more proactive, business focused and policy based with on the spot analysis capability
Thoughts on this concept or any one has ideas of tools that do what I am looking for?
Thanks for listening.
surekha -