One of the most important aspects of a complex system is its serviceability. For example, cars are made in a way that mechanics can quickly diagnose and fix issues, perform tuning and maintenance. What enables mechanics to do this quickly is a set of high quality tools. Very often these tools are manufacturer specific and in some cases model specific. Same thing with bridges, buildings, airplanes, rockets and enterprise software. Many software systems have millions of lines of code and many degrees of variability. It is critical to be able to use automation and visualization to be able to diagnose and resolve complex issues. It is not unheard of for IT operations staff to spend weeks and months of their time trying to identify memory leaks, strange behaviors of the software, sudden crashes, performance degradation and all kinds of other undesirable issues. If all you have is a large log file with thousands of lines of error messages and a plain javacore file – no wonder it takes forever to solve a problem! There are studies from Forrester, Robert Francis Group and others that show significant cost of downtime.
This is why IBM provides a set of diagnostic and support tools to its customers. These tools come under the umbrella of the IBM Support Assistant (ISA). ISA is available to IBM software customers, which means it is also available at no additional cost to existing WebSphere customers. ISA has a set of tools for problem isolation, tuning, log analysis, support case management and more. Among other things, ISA includes IBM Monitoring and Diagnostic tools for Java. A couple of weeks ago Michele Choate, Soloman Barghouthi and I had a Google Hangout on this very topic.
Last week I have recorded a series of demos that show problem determination tools in WebSphere Application Server and Liberty Profile and briefly compared those to WebLogic, Tomcat and JBoss EAP. Here are the first two videos (I will post additional videos showing additional tools as I record them):
Garbage Collection and Memory Visualizer tool (demo)
IBM WebSphere Performance Tuning Toolkit (demo)
Say you have a “free” (or very low cost) Java EE runtime, which does not come with powerful tools (such as discussed above). What is your true Total Cost of Ownership? Is free really free or are you simply paying in your staff time, or even worse – downtime?