Try for free Book a demo

Advance Azure message failure tracking for efficient business transaction management

Distributed Tracing

5 Mins Read

Advanced Azure Message Failure Tracking

In today’s fast-paced business world, organizations rely heavily on data to make wise decisions and streamline operations. Efficiently managing and accessing critical information, such as customer data, orders, and bills, is essential for the success of any business.

Turbo360 Business Activity Monitoring offers advanced search capabilities and many other features that empower businesses with a self-service portal to find and retrieve relevant data quickly and easily. 

In this article, we will look at the scenario where you have errors in a business transaction and challenges that you will have tried to manage the recovery from the errors. We will discuss how advanced Azure message failure tracking with Turbo360 provides mature and advanced capabilities to enhance your Azure solution so you can handle real-world issues in an effective way.

Advanced Azure Message Failure Tracking: Business scenario

Customers interact with a web app to initiate ticket booking in a ticket booking portal. Logic Apps and Functions will be used to process the ticket booking.

The process flow for this scenario is:

  • The Customer makes a booking in portal application
  • The application stores the request in a SQL database and then writes a message to a Service Bus queue
  • A Logic App is polling the queue and will trigger when there is a message to process
  • The Logic App will verify the message and orchestrate the invocation of a number of Azure Functions which process the ticket booking
  • The integrated process will maintain the state of the booking in the SQL database and communicate status updates to the customer

Advanced Azure Message Failure Tracking: Business scenario -1

Failures in Ticket booking

Advanced Azure Message Failure Tracking: Business scenario -2

How BAM will help in tracking and resolving?

With a comprehensive tracking solution like BAM, identifying failures becomes easier. Ticket booking can be considered a business process in the Ticket Booking system. This procedure comprises multiple transactions, each of which has several stages. In our scenario, there is a single transaction named “Ticket Booking” and five stages.

  • Webapp
  • Service Bus Queue
  • Logic app
  • Function App
  • SQL Database

Once the business process, transaction, and stages are created in the Turbo360 BAM, users can align the stages, create the workflow, and visualize as depicted in the image below.

Advanced Azure Message Failure Tracking: Business scenario -3

By instrumenting BAM at each transaction stage, users can visualize the entire flow of their operations with real-time data, denoting the status of each stage.

Advanced Azure Message Failure Tracking: Business scenario -4

For every Ticket booked, an instance will be logged in Turbo360 BAM, which will help address the failures. Instrumenting BAM can be achieved in the following ways.

  • .Net Library
  • Logic App Connectors
  • Rest APIs

Both .Net Library and Logic App Connectors can be used for the scenario explained.

When a customer tries to book a ticket during service bus queue downtime, the queue cannot receive requests from the web app, leading to failure and the possibility of data loss. However, by placing a piece of code in the web app, we can instrument BAM, and as a result, the booking instance will be visualized on the BAM tracking page with the failure in the queue as follows.

Sample code to instrument BAM in Web app and Function app using .NET Library

NuGet package – Kovai.Turbo360.BAM

var processor = new TransactionService(“FunctionAppKey”, ”FunctionAppUrl” ); 

 string messageBody = "{\"bookingId\":1234,\"name\":\"Gokulprasanth\",\"date\":\"06/21/2023 10:30:00\"}";  

var startTransactionResponse = await processor.StartTransaction(new StartTransactionRequest 

{ 

    BusinessProcess = "TicketBooking", //Business process name 

    Transaction = "TicketBooking", //Transaction name 

    Stage = "WebApp", //Stage name 

    MessageBody = messageBody, 

    StageStatus = StageStatus.Success 

}); 

   

if (startTransactionResponse.Result != null) 

{ 

    processor.CheckPoint(new CheckPointRequest 

    { 

        TransactionInstanceId = startTransactionResponse.TransactionInstanceId, 

        Stage = "ServiceBus Queue", 

        StageStatus = StageStatus.Failure, 

        MessageBody = messageBody  

    }).GetAwaiter().GetResult(); 

} 

Advanced Azure Message Failure Tracking: Business scenario -5

In addition to visualizing the failure, handling it using the Reprocess capability in BAM is possible. While tracking the data, users can send the associated payload and store it in BAM. In this case, the payload will be the Service Bus message. In case of failures, users can easily open the transaction instance and resend the payload to the desired endpoint.

Advanced Azure Message Failure Tracking: Business scenario -6

In this case, the Service Bus queue is the endpoint, and the message can be sent to the queue when it is back online, making the failed transaction successful.

Advanced Azure Message Failure Tracking: Business scenario -7

The Problem with resolving transactions in bulk

However, if the queue remains unavailable for an extended period, many bookings will fail, resulting in customers bombarding the support platform.

The result is you will have many support tickets which will become overwhelming to process individually.

In Azure its challenging for the support user to effectively manage the resubmission of messages making support difficult. In the next section we will look at Turbo360 features which will help the support user.

Advanced search

With the help of the advanced querying option on the tracking view, users can efficiently handle multiple tickets. They can collect all the booking IDs from the tickets raised by customers and utilize the advanced query functionality to retrieve relevant records. Multiple booking IDs can be entered simultaneously by using any delimiters like commas (“,”), tabs (“\t”), or newlines (“\n”). This approach allows users to input the booking IDs in bulk conveniently. For example, if a user need to retrieve records for booking IDs 123, 456, and 789, they can input them using any of the following formats: 

Advanced Search in Turbo360 BAM

And with the bulk reprocess option, the retrieved instances from the advanced search can be resubmitted to the Service Bus queue simultaneously. This streamlined process saves time and enhances productivity and customer satisfaction by providing timely resolution with minimal effort. 

Advanced Search in Turbo360 BAM

Conclusion

Advance Azure message failure tracking with Turbo360 BAM increases the level of maturity you have for tracking and resolving real-time failures in integrations. Without an effective solution like Turbo360 BAM, it will be difficult for the users to search through the standard logs and rectify the failures.

The end-to-end tracking and visibility provided by BAM gives you a holistic picture of how business transactions are working. The power of advanced search and bulk reprocessing capabilities will considerably improve the Support case resolution window, keeping the end customers happy and empowering the business.

This article was published on Aug 16, 2023.

Related Articles