Sunday, December 14, 2008

Business Transaction Management’s Challenges

Business Transaction Management (BTM) is a natural continuation of the past decade and a half's evolution of IT systems management. In the past few years the modern data center has finally started to stabilize; the number of node types has become constant and each node has had tools developed for it.

These silo specific tools are now able to solve 90% of the problems; leaving us with the hardest to solve - last ten percent. This last ten percent is characterized, for example, by those application bottlenecks that occur even though all of the silo specific tools are showing 100% availability.

If the monitoring tools at all tiers are showing 100% availability then how does one know that there is a problem? Well, either the enterprise has put in place an end user measurement tool or the help desk is receiving user complaints.

The IT organization's number one priority is very simple; ensure that all transactions are executing correctly and in a timely manner – it's that simple.

The demand for Business Transaction Management tools comes from the need fulfill that priority; especially when traditional tools are unable to go that last mile. What has enabled the development of these Business Transaction Management tools is the datacenter's recent stabilization; with the number of node types staying constant for a few years, it is finally possible to catch up and enable the full visibility into the entire datacenter that BTM solutions must provide.

BTM Enables True Availability

The only way to resolve the problems that traditional monitoring tools cannot cope with is to take into account the interactions between the nodes and to connect every click of the user to the many events that are triggered by that activation. This enables both being able to see everything in the business context - the user's click of a button - and solving problems that have more than one source.

Business Transaction Management tools are able to monitor the entire system by tracking every single transaction that is activated by the users throughout the entire datacenter, collecting information on all of the interactions along the way. This is the essence of connecting business and IT; understanding the business context by linking every single event in the datacenter to the click of a user.

With Business Transaction Management, a common language is created, where performance can be measured as the time it takes for the transaction to travel between all of the nodes and back. Since all interactions are recorded along the way, if something goes wrong, i.e. a latency that is out of specification, then the event that caused the problem can be immediately singled out since the latencies at each tier are known and all of the necessary data has been collected. 

What Qualifies as a BTM Solution?

Every Business Transaction Management solution should be able to do the following:

Track a transaction that was sent out from a browser, through a load balancer and to a proxy. This proxy is not a known vendor's proxy, just some start-up's which developed the proxy five years ago - the code is still there and still working, but no one has the code - just the binary.

That proxy is sending it to another proxy and its being split to - making it easy - two different applications, each with its own different web server. Each application is running on its own app server - one is java based, the other is not; it's a homegrown C++ program. The first app server is sending out data base requests to four different databases; Oracle, DB2, Sybase and SQL server. The second app server is SOAP based; sending SOAP requests to an external application. There is an MQ at the external application, 'puts' are being sent to the MQ and a Mainframe is receiving the messages from the MQ. 

If a vendor wants to be called a BTM vendor he has to be able to track the transaction across all of these components. He has to be able to account for the time every transaction spends at every point in the datacenter.

Developing a Business Transaction Management Solution

Developing this kind of solution is far from trivial. The task of connecting each event within the datacenter to a specific transaction is a big challenge in today's distributed and heterogeneous systems.

The general concept of how to execute a Business Transaction Management solution is pretty straight forward. Agents must be installed at all tiers, collecting information about everything that flows through that particular tier and all of the collected data is sent back to a central dedicated server that is able to correlate all of the events to the single user's click of a button in the application. The various methods of gluing these events together are the core competency of the solution, along with the ability to develop an agent that complies with all of the different kinds of servers that one finds in the data center.

Some big players have been claiming to provide these end-to-end solutions for a number of years. Only recently have an extremely limited number of vendors been able to prove Business Transaction Management solutions in production – buyers beware.

1 comment:

rnbresearch said...

I came to your blog just when I was surfing on this topic. I am happy that I found your blog and information I wanted.