In this unprecedented situation, enterprises with on-premises data centres are facing challenges in maintaining uptime. As the Azure cloud adoption is increasing among enterprise organizations, this pandemic acted as a catalyst for its rapid adoption. When cloud spending keeps on increasing, there comes another set of challenges for the organizations to manage and monitor resources at a single place that are scattered across different regions and subscriptions.
Nowadays, there are software for Business Activity Monitoring (BAM) like Serverless360. It provides a single portal to manage and monitor Azure Serverless services, designed for the Operations and Support team. Serverless360 offers Business Activity Monitoring that provides end-to-end distributed tracing with message visibility on the business processes involving not only Azure resources but also hybrid applications.
Hybrid Application Tracking
What is a Hybrid Application?
Hybrid applications are designed to solve business problems using a combination of Cloud and On-Prem components. Azure offers various services that include Service Bus, Logic Apps, Function apps, Web apps, and more. These components can be integrated with On-Prem components like .NET applications and services.
Why Tracking Is Important for Hybrid Applications?
The transactions happening on Hybrid applications may fail due to various reasons as mentioned below:
- Incorrect or invalid data being processed
- Unavailability of resources
- Errors in business logic
The above reasons can be easily diagnosed with the proper tracking and monitoring provisioned in place. To understand better, let us take a hybrid scenario and see how Business Activity Monitoring(BAM) makes life easier for Business users to track business transactions.
Employee On-boarding scenario
Let us consider a simple hybrid application solving an employee onboarding scenario. Whenever a new employee joins an organization, he must be registered with the payroll application.
This employee management scenario is built using a hybrid application constituting the Angular application as client and .NET core API that collects the required employee details. All the employee details are then sent as a Message to Azure Service Bus Queue. An Azure Logic App listens for the messages in the Service Queue and adds the required employee details into the payroll storage table.
In this application, we can see the integration between Azure cloud services and on-premises .net applications those form hybrid applications. In the upcoming article, we will understand how end-to-end tracking will help identify the errors in the above transaction.
Business Activity Monitoring in Serverless360
It is a functional end-to-end business activity tracking and monitoring product for hybrid scenarios. With Serverless360 Business Activity Monitoring (BAM), get full visibility of your end-to-end business process flow across your Azure resources. This Business Activity Monitoring tracks the business process into transactions and further divides them into stages to get more visibility on the resources. Now let us understand the terms used in BAM in Serverless360.
Business Process – A collection of one or more related business transactions
Transaction – An operation of the business which represents a set of related business activities or actions
Stage – An activity or action within the transaction. A transaction can contain one or more stages.
Three different components in BAM
There are three components provided by Business Activity Monitoring which will be wired up with the actual business process transactions to track the data flowing through the Business Process:
- StartTransaction
- CheckPoint
- CorrelationCheckpoint
StartTransaction
StartTransaction component should be instrumented in or before the starting stage of the transaction. It will initiate the BAM transaction and track the first stage. Further stages will be tracked using Checkpoint component.
Checkpoint
Checkpoint component will be instrumented after every stage in a transaction. This component will be used to track the data flowing through each stage in a transaction. It can also log the exception occurring in the transaction.
CorrelationCheckpoint
CorrelationCheckpoint component will be used to define the correlation between decoupled stages. Consider when there are chained Logic Apps forming a transaction and the need is to track the message flowing through all of them, this component will help achieve the expected correlation using a Correlation Id.
Considering the hybrid application, these components are available as API, Logic App connectors, .NET Libraries
BAM Features for Hybrid Application
Querying Transactions using Stage Properties
Tracked Transactions can be queried for specific results based on the transaction status and tracked properties, in a much user-friendly manner, with simplified queries. The queries support LIKE operator and it is also possible to group multiple search query clauses using AND – OR Operators which helps users retrieve more focussed records.
For instance, if the need is to retrieve only the employees from the development branch, the user can simply form the query Branch = “Development” which returns the appropriate records. Users can even save these queries and use them for monitoring.
Reprocessing
In a business process, reprocess plays a critical role as failed transactions cannot be left unattended. A user can reprocess a failed or any required transaction using the reprocessing capability offered by BAM. Serverless360 provides 4 types of reprocessing endpoints. They are as follows:
- HTTP Endpoints
- Service Bus Queue
- Service Bus Topic
- Event Grid Topic
The messages that are archived can be reprocessed to the configured reprocess endpoints.
Analytics Dashboards
Dashboard for BAM will be automatically created when a business process is created. It is an Actionable Dashboard that gives insights on number of failed transactions, successful transaction and more. Users can even customize this dashboard as per the requirement.
For example,
- Overall transactions of the business process for the past x no. of days
- Employees with most salary
- Success/failure rate of that business process and more
Monitoring
Business Activity Monitoring in Serverless360 offers two types of monitors to monitor the Hybrid Application as a Business Process. They are,
- Exception Monitor
- Query Monitor
Exception Monitor
Consider the .Net application in the employee payroll management system failed to process a request from the client. It will be a tedious process for users to identify where the actual problem occurred in the whole business process and the user would also need an alert report along with the exception details to investigate on the issue. Here comes the Exception monitor in Business Activity Monitor.
Query Monitor
If the need is to monitor the specific transaction in a hybrid scenario based on certain property or status, the user can leverage the Query Monitor in BAM. It can be used to monitor the transactions by periodically querying the transactions and validating the results against the configured threshold error and warning values.
Conclusion
Hope this blog gave you an overview on features of BAM to better track and monitor Hybrid Applications.
Author Name: Nishanth Prabhakaran