3 Ways to Solve App Performance Problems with Transaction Tracking – Part 2

3 Ways to Solve App Performance Problems with Transaction Tracking - Part 2In part 1, I discussed the important of tracking applications and how that is similar to tracking packages.   However, there is one significant difference between the two, applications don’t have bar codes.  The collecting of the tracking events as the data moves through the application requires additional processing.   There are many techniques for doing this.   The application can generate the events itself, in the form of a log or audit trail.   But in cases where it doesn’t, instrumenting the underlying system is an option, depending on what facilities it provides.   Given an application that executes through DataPower, IIB (Broker) and MQ, Nastel leverages several techniques to create the tracking events.

DataPower

DataPower can act as a front end or an intermediary node.  These flows are one of the key ones that require visibility.  Unfortunately, there is simple no place to do that centrally.  We have found that the best way is to make slight modifications to the flows to collect the required data and send this as tracking events. Using this method, we can track very granular detail of flows that go through as well as failures or performance problems in the flow.  Many application flows already have some form of built in tracking that can be easily leveraged as well.

IBM Integration Bus / IIB (Broker)

The Broker supports a very rich mechanism for tracking the Message Flows.  Without changing the internal structure of the flows as required in DataPower, you can still get to that level of detail, including

  • Transaction Start / Stop (default)
  • When a given node was processed
  • Message content being processed by the flow
  • Track message flows in and across brokers

You have controls within the broker to determine what type of data is sent.  With the Broker, you have the ability to configure more detail about the information you want to send.  Data collected is published to broker topics, which are then forwarded as tracking events.

IBM MQ

IBM MQ provides 2 options to collect the data depending on versions of MQ.

Using MQ API Exits

Available in all versions of distributed MQ, MQ API Exits can be used to capture information as it flows through the MQ environment.  When an application is invoked, the queue manager will pass information about the application to the exit program.  The exit program will look at the application call and data to decide what to do with this information. This procedure allows us to track information as it flows through the application environment and across the sending and receiving channels to multiple queue managers (distributed and mainframe)

Tracking Using Application Activity Trace

With MQ 7.1 and above, the queue manager can be configured to generate the tracking events.  The MQ appliance uses this method exclusively.  The data collected is the same as when using MQ Exits.  The activity trace method has some advantages over the MQ Exit approach including no need to install code into the queue manager, easier to enable and disable and easy to setup for remote access.  But it currently supports limited filtering on the host MQ server which can mean potential for increased network traffic.

Independent of which method is used, the tracking events provide the information need to see inside of the MQ processing.

Managed File Transfer (MFT/FTE)

Many customer are currently leveraging managed file transfer into their applications to integrate files with MQ flows and broker (IIB).  The MFT coordinator publishes tracking events to record this activity. This allows you to see the transfer and any failures.

Summary

As noted in the introduction, the goal is a combined flow across the environment.  You need visibility into one or more of the technologies such as browsers, mobile, DataPower, Broker, Message File Transfer, MQ, Java applications and many more.

Nastel AutoPilot TransactionWorks analyzes this tracking information, interprets the data and produces the global transaction mapping.  When the events track across all of these technologies, we can provide a complete picture of the application flow.  through multiple environments.

Read Part 1 in this 2 part series: “3 Ways to Solve App Performance Problems with Transaction Tracking”.

To learn more, watch the TechTalk here

3 Ways to Solve App Performance Problems with Transaction Tracking

3 Ways to Solve App Performance Problems with Transaction TrackingTransaction Tracking can provide tremendous insight into the performance and behavior of applications. However, this can be challenging when transactions traverse platforms and technologies.  Often it can be similar to tracking someone in the old Westerns where you follow the trail to the river and then lose track of where they went next.  Tracking MQ transactions can have this same hurdle to overcome with MQ running on diverse platforms spanning multiple locations.  MQ transactions typically interact with other platforms such as IBM Integration Bus (Broker) and IBM DataPower.  Visualizing a dynamic flow of transactions across all of these environments is well worth the effort as it greatly simplifies the problem detection process at the same time reducing the mean time to resolve problems (MTTR).

Concepts of Transaction Tracing

Package tracking is an analogy that can be used to explain the concepts behind transaction tracking.  A package is sent from location A to location B with tracking notices generated to let the sender know where the package is in-transit, when the expected time of arrival is and when it actually arrived.    Package Tracking is a combination of disjoint technologies, similar to the middleware environment.  The process of transaction tracking can be complex with cost and timeliness of delivery of major concern.  No matter how fast you deliver a package, someone always wants it quicker. The same problems affect MQ transactions, but instead of a package, it is a message that never seems to get to its destination fast enough.

There are a set of common questions users have about package tracking.  For the customer it might include:   where is my package or is my package progressing as planned? If you work for the shipping company, you are more concerned about: where the bottlenecks are in the system, how to solve a problem, stopping a problem from recurring and what issues can I expect tomorrow. As a technician, you would want to know where your failures are occurring and where you can make improvements.

Package tracking involves: delivering   packages, scanning them and exporting the events from the scanners into a database for later analysis.  The key to tracing anything is to create tracking events that capture the key events such a pick, pack or ship and what time these occurred

Transaction Tracking for MQ

There are a common set of  behavior patterns for MQ.  Each set of patterns can be unique.  Typically, you have senders and receivers as well as queues being processed with one or more queue managers communicating with each other. With multiple applications running on different servers, as in the package tracking example, every time a message gets sent or received, the details about that message and its processing should be captured and sent  to a central location.  This will provide the ability to understand what is occurring. If the transaction is stuck or slow, we know that we can react to it or produce warnings if the transaction takes too long.  We can also gather statistics along the way to see the duration of each step.  Capturing raw metrics about message flows and then correlating them together into a big picture can help the user solve performance problems faster.

Whether you are a corporate manager, Line of Business owner, application support group or IT infrastructure team, you need end-to-end visibility into the transactions that are relevant to you.

Stay tuned for the next installment in this series, “3 Ways to Solve App Performance Problems with Transaction Tracking”.

 

To learn more, watch the TechTalk here

4 Key Benefits from Using Self-Service for IBM MQ – Part 2 of 3

4 Key Benefits from Using Self-Service for IBM MQ - Part 2 of 3[This is Part 2 of a 3 part series. Catch-up with part 1, here.]

Drivers for MQ Self-Service

In Part I, we discussed the extensive interest in MQ Self-Service.  This interest is due to a number of factors, including:  the shrinking size of middleware staff, growing workloads and increasing application complexity.

At the same time application complexity rises, the demand for MQ access grows accordingly.  The number of  application developers,  IT support and operations personnel needing access to MQ is increasing and they all come to the middleware group to get help.

There are a variety of use cases that are common within most enterprises. Understanding the typical business requirements to reduce support costs and stakeholder necessities for increased visibility, message browsing and the taking of actions is essential in providing   an effective self-service system.

Typical Requirements for MQ Self-Service  

  • Visibility Anywhere: View queue status and depth, channel usage via web
  • Testing: Examine queues, channels, queue managers, and subscriptions
  • Forensics: Browse and manipulate application messages
  • Action: Act on application specific messages (move, copy, edit, route, replay, create)

Crafting an Effective Self-Service Solution

How do you go about crafting an effective self-service solution for IBM MQ?  Many organizations use IBM’s MQ Explorer. After all, why not? It comes out of the box with the product so that is certainly an option. The product has all the characteristics that you need to manage and view in the MQ environment; however, it can be challenging to use for problem diagnosis.  Some of the requirements when using MQ Explorer do not meet the objectives that we identified:

MQ Explorer is lacking:

  • Simplicity: You need to install an Eclipse client and set the appropriate security level to give access. This may end up exposing the complexity of MQ requiring tool users to have a solid understanding of MQ or they will be lost. There will be difficulties to enable non-specialists to complete their tasks.
  • Scalability: Trying to roll out the MQ Explorer to hundreds or thousands of users is challenging for most organizations as it is a manual task.
  • Security & Audit: You end up giving people more capability that you want to give them. Users can potentially see and do more than what is needed. This can be dangerous.

The Better Approach to Self Service

First, start off with a self-service monitoring dashboard which provides stakeholders a business view of MQ:

  • Activity
  • Availability
  • Performance

Teams acquire an end-to-end view of application flows through all the moving parts that make up a workflow.

Next, provide users with real-time application visibility for instant awareness of performance problems. Standard web-enabled dashboards do not typically supply this.  Users will have the capabilities to understand what is happening within MQ as they need it to understand their situation. Problem resolution time shrinks, too.  When a problem occurs, instead of calling up the middleware team to say something like “I think MQ is broken,” the user can now describe the issue that they are experiencing and place it into a business context for rapid remediation.

Then, provide deep-dive visibility. Many users do not have this insight into how MQ impacts application performance & behavior.  This approach to MQ self-service is very empowering for the user as it enables them to better understand how middleware behaves.  Stakeholders get the opportunity to participate actively and proactively diagnose situations where issues might occur. In return, this helps the team prevent situations from reoccurring.  Once deep visibility is provided for stakeholders, productivity improves.

Finally, we come to taking action. When talking about self-service, we are not merely considering how users view objects.  We are also covering how users take action to improve the situation.  Make it simple for users to understand the necessary procedures that are available to them. Help them choose the right action to perform, through effective communication in a format that is brief, easy to understand and one that enables a quick user response.

To learn more, read Part 3 of this 3 part series, “4 Key Benefits from using Self-Service for IBM MQ” and learn how users can take actions when provided with a graphical historical view on middleware performance. Find out what the key most important metrics are, how to interpret the metrics and when to invoke actions.

For more information on how you can improve productivity, increase speed of delivery to customers and reduce costs, watch the TechTalk Boost Productivity using Self-Service for IBM MQ!

4 Key Benefits from Using Self-Service for IBM MQ” Part 1 of 3

4 Key Benefits from Using Self-Service for IBM MQ" Part 1 of 3The concept of self-service has evolved over many years.  It has led to very important innovations and technology in many industries in the way we work and live.  Until the earliest 20th century, people who went shopping were entirely dependent on clerks.  They would go to a store and give a list of items that they needed to the clerk and those people selected their bits for them. Naturally shopping has changed dramatically with innovations such as supermarkets, malls and even today, internet shopping. When the first ATMs were introduced, there was a lot of fear in the part of banking organizations that customers would miss human interaction with their bank tellers. That fear went away when it became clear that these machines were a huge success.

The Benefits to Self-Service:

Human Empowerment: Users with self-service systems are able to do things for themselves that previously required help from a specialists.

Increased Efficiency: People are now able to do more with less by delegating some activities to users.  This enables a more economical use of resources.

Improved Productivity: With self-service, the specialists that we rely upon are now free to perform other tasks that deliver greater value to the organization. Also, user wait time has decreased.

Reduced Costs: Time consuming tasks that were previously performed by specialists are now delegated to users which has a great impact on reducing costs.

Essential Design Criteria for Self-Service:

Despite all of these benefits, there is an essential design criteria that we cannot forget about when talking about self-service.  You want to provide the benefits of ease of use to your end-users but the first and foremost criteria is protection and the well-being of the user.

Safety: All self-service systems focus primarily on protecting the underlying system of many issues that can either intentionally or unintentionally be created by the non-specialist. Protecting the integrity of the underlying system while still delivering the self-service benefit to the user.

Security:  Only the users can do what they are authorized to do.  Automatic teller machines and atms are the best examples.

Simplicity: Self-service users may have little or no training so the users have to be intuitive and must guide the users to do the right actions.

Scalability: The Self Service system has to be able to handle an increasing volume of the consumers. Self-service often leads to a high level of adoption to users than what was originally anticipated when these systems were put into use.

Self Service System for IBM MQ

A self-service system for IBM MQ has a number of potential stakeholders.  Naturally, these are the people in the middleware team but there are also other groups to consider that are involved with MQ monitoring as well.

Middleware team: Focused on proactive management of messaging middleware. They want to manage their environment

Application Support: Interested in faster time to repair (MTTR).  They want to identify the root cause of performance issues

Application Developers: Interested in continuous quality improvement of the new releases of the applications.

Enterprise Architects and Application Owners: Interesting in processing improving and reduce costs. They want to prevent performance problems from happening.  They also want to monitor their applications from end to end.

Application support, DevOps, and operations teams can have direct access to WMQ, test messages in development and quickly find the root-cause of production problems—without needing to call the Middleware Team. They do not need to know the internal mechanics of MQ in order to do their jobs effectively so their understanding of the internal mechanics of MQ is relatively limited. Since most of these stakeholders are not specialists in MQ, it is not surprising if they frequently contact their middleware team with inaccurate observations or questions such as: “MQ is broken, can you fix it?”, “MQ is slow,”  “I need a new queue so I can do some testing,” or “I need to be able to run tests.”  They can also rely on the MQ Specialists, the middleware team to address their issues if need be.

A fundamental ingredient to a successful self-service implementation is the act of delegating a specific set of selected activities to a broader group of people.  Middleware Teams can leverage easy-to-implement technology to empower their colleagues in application support, DevOps, and operations and also save themselves a boatload of time. Understanding the common requirements and user demands of these stakeholders is the key to providing them with an effective self-service system.

To learn more, read Part 2 of this 3 part series, “4 Key Benefits from using Self-Service for IBM MQ” and learn why there is so much interest in the self-service topic and typical user requirements for self-service for MQ.

For more information on how you can improve productivity, increase speed of delivery to customers and reduce costs, watch the TechTalk Boost Productivity using Self-Service for IBM MQ!

Making a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 6 of 6)

AutoPilot InsightMaking a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 6 of 6)

(The conclusion of a six-part blog series that describes how a team of IT pros and managers at one of the world’s largest global banks accommodated a bank acquisition and mastered a complex messaging environment.)

I’ve talked about some particulars associated with one large financial institution, MegaBank. But what can people expect from AutoPilot in general with respect to performance and scalability issues? Let’s examine some topics… Continue reading

Making a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 5 of 6)

Monitoring Message Flow - Middleware transactions (Fifth of a six-part blog series that describes how a team of IT pros and managers at one of the world’s largest global banks accommodated a bank acquisition and mastered a complex messaging environment.) Continue reading

Making a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 4 of 6)

TIBCO RV and EMS Metrics

TIBCO Metrics

(Fourth of a six-part blog series that describes how a team of IT pros and managers at one of the world’s largest global banks accommodated a bank acquisition and mastered a complex messaging environment.)

A major driver of MegaBank’s decision to standardize on Nastel AutoPilot was its ability to monitor all of its middleware systems. With AutoPilot’s TIBCO EMS plug-in, the IT team could easily monitor TIBCO EMS servers and components including: queues, topics, consumers, producers from a single, consolidated vantage point.

 

Continue reading

Making a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 3 of 6)

(Third of a six-part blog series that describes how a team of IT pros and managers at one middleware monitoring of WebSphere MQ, TIBCO and more along with CEPof the world’s largest global banks accommodated a bank acquisition and mastered a complex messaging environment.)

Bringing Light to the Dark Side…

Nastel’s AutoPilot was already effectively monitoring MegaBank’s WebSphere MQ and homegrown MOM systems. However, while the bank trusted TIBCO, the IT team wanted to integrate TIBCO messaging products into an umbrella monitoring framework. Continue reading

Making a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 2)

middleware(Second of a six-part blog series that describes how a team of IT pros and managers at one of the world’s largest global banks accommodated a bank acquisition and mastered a complex messaging environment.)

Before MegaBank’s merger with TargetBank, their IT department had been using a well-known event monitoring product to monitor WebSphere MQ. TargetBank used TIBCO Hawk to monitor their TIBCO EMS system. As the bank merger progressed, business requirements soon dictated that a seamless integration across the combined environment was necessary. But at this point, they had two separate management systems. MegaBank needed a tool that could handle their home-grown message broker plus multi-vendor middleware and messaging environments. Continue reading

Making a Happy Marriage of WebSphere & TIBCO Infrastructures (Part 1 of 6)

Nastel_IT_Layer_Web(First of a six-part blog series that describes how a team of IT pros and managers at one of the world’s largest global banks accommodated a bank acquisition and mastered a complex messaging environment.)

In the beginning, there was darkness…

Ok, I’m being a bit overly dramatic. What was happening in New York a couple of years ago at a really big global bank with almost U.S. $2 trillion in total assets—let’s call it MegaBank—was a serious lack of control. Continue reading