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
Failures in Ticket booking
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.
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.
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(); }
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.
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.
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:
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.
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.