Disclaimer:
BiWhy is available for free to everyone at biwhy.net.
BiWhy – Motivation and Principles
A diagnostics platform is needed to simplify and automate diagnostics, troubleshooting, and root cause analysis.
In many enterprise environments, the required diagnostic data exists, but it is scattered across logs, metrics, configuration, files, databases, and multiple tools. As a result, root cause analysis is often slower, more manual, and more dependent on individual experience than it should be.
This article outlines some supportability principles for enterprise software and the practical approach behind BiWhy, where I also tried to apply them. These principles help make software easier to operate, troubleshoot, and improve.
The motivations and design approach behind BiWhy – principles I also tried to apply within BiWhy itself
Software supportability
Some of the principles behind supportable software include the following:
Measure everything.Log effectively.Log everything important.Support on-the-fly verbosity configuration.Use centralized configuration wherever possible.Cut noise.Remove worthless log entries.Maintain zero error tolerance – a healthy system should be clear of error and exception logs. It is either healthy or it has errors; it cannot be both.There should not be errors that can simply be ignored. Either fix them or do not mark them as errors.Provide easy log filtering at the point of generation as a practical workaround for the two issues above.Make key information easily available, as simply as possible, ideally in one click.MeasuresLogsDocumentationAutomate or semi-automate repeatable problem detection and troubleshooting.Provide a convenient UI to analyze all of the above.Ensure that non-trivial configurations are guided and easily troubleshootable at each step.
Good supportability means
Problems and performance can be addressed and optimized starting from the lowest level.End usersCustomer report developersSystem administratorsVendor support layersVendor developers
This reduces pressure on higher-tier support layers and can save significant support effort every day.
Part of those resources can then be redirected to further automation and supportability improvement.
Overall, it helps create best-in-class software in terms of functionality richness, performance, robustness, and total cost of ownership.Early error detection, including regressions, facilitates new feature development and problem correction.Performance optimization at all levels leads to broader overall performance gains.
Example
SAP’s success with ABAP systems was, to a great extent in my view, supported by open architecture: logs lead to code, the code is easy to debug and measure, and customers can see what is going on and participate in development.
BusinessObjects addresses supportability in many areas, but it still has important gaps.
BiWhy was started with the idea of helping fill those gaps.
Disclaimer:BiWhy is available for free to everyone at biwhy.net.BiWhy – Motivation and PrinciplesA diagnostics platform is needed to simplify and automate diagnostics, troubleshooting, and root cause analysis.In many enterprise environments, the required diagnostic data exists, but it is scattered across logs, metrics, configuration, files, databases, and multiple tools. As a result, root cause analysis is often slower, more manual, and more dependent on individual experience than it should be.This article outlines some supportability principles for enterprise software and the practical approach behind BiWhy, where I also tried to apply them. These principles help make software easier to operate, troubleshoot, and improve.The motivations and design approach behind BiWhy – principles I also tried to apply within BiWhy itselfSoftware supportabilitySome of the principles behind supportable software include the following:Measure everything.Log effectively.Log everything important.Support on-the-fly verbosity configuration.Use centralized configuration wherever possible.Cut noise.Remove worthless log entries.Maintain zero error tolerance – a healthy system should be clear of error and exception logs. It is either healthy or it has errors; it cannot be both.There should not be errors that can simply be ignored. Either fix them or do not mark them as errors.Provide easy log filtering at the point of generation as a practical workaround for the two issues above.Make key information easily available, as simply as possible, ideally in one click.MeasuresLogsDocumentationAutomate or semi-automate repeatable problem detection and troubleshooting.Provide a convenient UI to analyze all of the above.Ensure that non-trivial configurations are guided and easily troubleshootable at each step.Good supportability meansProblems and performance can be addressed and optimized starting from the lowest level.End usersCustomer report developersSystem administratorsVendor support layersVendor developersThis reduces pressure on higher-tier support layers and can save significant support effort every day.Part of those resources can then be redirected to further automation and supportability improvement.Overall, it helps create best-in-class software in terms of functionality richness, performance, robustness, and total cost of ownership.Early error detection, including regressions, facilitates new feature development and problem correction.Performance optimization at all levels leads to broader overall performance gains.ExampleSAP’s success with ABAP systems was, to a great extent in my view, supported by open architecture: logs lead to code, the code is easy to debug and measure, and customers can see what is going on and participate in development.BusinessObjects addresses supportability in many areas, but it still has important gaps.BiWhy was started with the idea of helping fill those gaps. Read More Technology Blog Posts by SAP articles
#SAP
#SAPTechnologyblog