By: Tom Batchelor, Senior Solution Architect
Managing change effectively is something that every organization must deal with on an ongoing basis. The increasing complexity of IT environments makes this task even harder for operations, application support and development. Nowadays, the path that transactions take is not easy to map. A customer may access an online banking application from a mobile device, which may travel through a web server, proxy server, app server and mainframe before getting to the database. In this example, how are you going to diagnose problems or make changes without fully understanding your application topology or end user experience?
Over the years, I’ve seen many instances where mapping a client’s application topology reveals tiers or nodes their IT team never knew were used. An old application that was critical to business operations ten years ago may still have remnants in the environment today. To make matters worse, the team which designed and integrated this application may no longer be with the company. How would you gain such insights without fully automatic dependency mapping at the transaction level?
Besides revealing surprises in your environment, automatic dependency mapping plays a crucial role when your team conducts maintenance. You will be able to understand the impact of your changes and services from a transaction-centric point of view. You will also get a level of granularity that is impossible if you’re just monitoring the infrastructure. Let’s take the online banking example again. Say you’re using an infrastructure monitoring tool and you understand the dependency between the customer’s online banking application and the wire transfer servers. Clearly, if your IT team thought the banking app has a complete dependency on wire transfer, you would have taken online banking out of service for maintenance to the wire transfer servers. However, when using the transaction monitoring approach, you figure out the online banking app also talks to other components for balance statements, stocks and bill pay. This means you can take specific application features out of service and keep the rest in service. The extra granularity just makes life much simpler and keeps applications available when possible during maintenance. The web performance monitoring will also give you data into the end user experience, specifically, how your key application is performing at peak times.
Finally, combining cross-component and code-level comparisons of application behavior makes application rollouts that much easier. You will be able to detect problems in the testing stage which will go unnoticed if you’re just monitoring hardware components. Testing with this change analysis ensures what happens in pre-production does in fact happen in production. Next time you roll out an application, you can ensure you’re ready on a Sunday before your new app goes live on a Monday.
These insights gained by automatic dependency mapping and end-user monitoring can be quite helpful when you’re making changes in your environment. You will uncover surprises in your environment which you never thought existed, understand the impact of changes, and detect problems in testing before going live in production. In today’s IT world – and particularly IT change management – remember that you cannot manage change if you do not understand the status quo.