Application performance tuning can help mainframe shops run their applications more efficiently so they use less processing power. This means fewer MIPS are consumed and software license charges are reduced, but hardly anyone performs application tuning proactively in an organized and structured way. That’s often because nobody in the IT organization truly takes responsibility for giving the applications the care and attention they deserve.
Performance tuning involves profiling the way applications use CPU resources as they run, identifying and correcting inefficiencies to optimize the use of processing power. And because most mainframe sites are now subject to variable workload license charges, which reward those who use less processing power with lower software charges, application tuning can bring down operational running costs.
But while much effort is put into tuning and optimizing the performance of the computing infrastructure on which applications run, there seems to be less enthusiasm for doing this for the applications themselves.
Some savings on MIPS usage can be made by optimizing the operation of the IT infrastructure as a whole—the OS itself, CICS, database buffer pools, and so on. But it’s the applications that use the vast majority of computing resources within data centers, and this is where we can achieve the most substantial savings.
The problem is that nobody has a clear remit to ensure applications are working efficiently. Production or operations teams usually run applications but, as you’d expect, their primary focus tends to be on operational tasks. They might feel reluctant and inadequately qualified to investigate the performance of individual applications.
The primary framework document relating to systems management today is the Information Technology Infrastructure Library (ITIL). But ITIL documentation, as it relates to application performance management (APM), tends to focus on whether the application is delivering the service levels required by the business. So APM in this context is all about what performance is expected—setting service levels and measuring and reporting against them; rather than how to achieve better performance by looking at what is going on within the application and making it run more efficiently.
Hence even organizations that have adopted APM as a discipline aren’t really looking into the performance and efficiency of the applications they run in any detail.
You might think that the application development team should take on the application tuning role, and the responsibility for application efficiency. But application developers are typically only available to look after systems that have been recently developed or are being actively maintained. For other applications—and these are the majority on most sites—you aren’t likely to find “developers” in the normal sense of the word.
The problem with development is it works on a project basis, whereas production is process driven. Teams are built for a development project, then dismantled and rebuilt as the next project comes along. Over any length of time, the developers that worked on any particular application system will have been redeployed, moved on, left the company and so on.
What’s more, some applications are brought in as a package, or come along with a company that has been acquired as part of a merger or takeover; in these cases you are likely not to have access to the original developers at all.
So what’s the answer for an organization convinced that application performance tuning can help it reduce costs? If there’s one message to remember, it’s that application performance tuning and its benefits will only be achieved through interpersonal and interdepartmental cooperation and sponsorship from the top of your company.
So you first need to find someone to champion it and to allocate time and resources to perform the initial stage of the process: analyzing and profiling the application workload. Tools are available to help do this quickly, as well as to help find inefficiencies and fixes.
It’s easy to think this isn’t an operational responsibility because it relates to “the applications,” but in practical terms it’s only operational staff that can get the process going. A number of areas in operations, such as capacity planning and service-level management, are closely related to performance, so one option is to extend their responsibilities to take on this role.
No matter how you decide to do it, the opportunity to improve efficiency and cut costs should be a strong incentive for finding a home for application tuning within your organization.
Philip Mann is principal consultant at Macro 4. He has been working with IBM mainframes for more than 30 years, including over 10 years with Macro 4, where application performance tuning is one of his major interests.