The Airline Tariff Publishing Company (ATPCO)—the Washington, DC-based central clearinghouse and publisher of airline fares and fare-related data—has been focusing on controlling costs to ensure customer satisfaction. The technology company’s IT division has focused on improving system performance, which reduces costs and frees up resources for new products and services.
ATPCO processes fare data from more than 500 airlines and sends that data to global distribution systems, computer reservations systems, and other travel-related companies around the world. ATPCO processes three times as many transactions as it did 10 years ago. In recent years, the company also has expanded the depth of its data, grew its customer base and broadened its distribution. However, many of ATPCO’s product applications are more than 10 years old and no longer meet all customer requirements.
ATPCO is leveraging its existing z/OS technology and infrastructure while rolling out new Web-based products to meet customer needs. Essential to these efforts is avoiding unnecessary hardware acquisition costs and reducing software maintenance costs. The company determined that implementing effective performance management was one of its best options for improving system performance.
At ATPCO, performance management encompasses more than software; it involves multiple organizational units, including the:
- Production support team comprised of experts on the company’s products and procedures
- DBA and systems support teams responsible for maintaining databases and the system environment
- Business team, which interacts with the worldwide user community
- Performance group, which tracks and communicates performance issues, and identifies and responds to situations that could jeopardize performance objectives.
The two-member performance team includes a system performance specialist and capacity planner, who tracks performance and does forecasting, and an application specialist, who proactively develops solutions. The system performance specialist monitors and manages system resources to meet business needs and maintain Service-Level Agreements (SLAs). Workload Manager (WLM) policies, which distribute resources to high-priority jobs so they can perform at the expected level, support this process. Since WLM doesn’t understand or resolve the reason why some jobs require more resources, the application specialist is responsible for finding ways to reduce resource consumption.
Augmenting the performance of existing architecture is challenging, perhaps even more so than designing new applications, yet challenges create opportunities that can lead to innovative ideas. Here’s how we handled those challenges from an application perspective.
We identified critical processes based on business value and visibility and targeted those that would secure the most cost savings. The nature of our business makes the load on our system highly volatile, especially since we can’t control the daily activity. Our goal is good performance with any reasonable load factor. To achieve this, we identified bottlenecks in the critical paths of strategic and business processes and located specific areas for code optimization.
We looked at scalability, focusing on applications that perform well at low load factors but crawl at high load factors, and vice versa. We optimized code for different load factors and created unique paths and implemented self-tuning applications with intelligence built into control sections to choose the most optimal path.
We profiled performance of processes to understand the flow of logic and behavior of functions. Tools help somewhat in gathering information, but getting actionable intelligence with manual processes (such as traversing through application logic to construct signal flow diagrams) is hard manual work. Understanding business functionality is extremely important, and it’s best not to disturb the business function even if it’s not understood initially. We looked for duplication of business functionality and extraneous function calls. We found ways to simplify the logic flow.