Overview
Bring your own backend (BYOB) is a Business Activity Monitoring (BAM) deployment model where all backend infrastructure — the Azure resources responsible for tracking, processing, and storing transaction data — is deployed into your own Azure subscription. Use this model when you need to handle large volumes of tracked data or require full control over resource configuration, scaling, and data residency.
Business value
Deploying BAM resources into your own Azure subscription eliminates shared-backend constraints and lets you scale SQL Database, Function Apps, and Service Bus independently based on your transaction volumes. It also gives your operations team direct access to the underlying infrastructure for performance tuning, log inspection, and cost management.
Prerequisites
Before starting the BYOB deployment, ensure the following are in place:
- An active Azure subscription with permissions to create resource groups, Function Apps, SQL Databases, and Service Bus namespaces.
- A Service principal with Contributor access to the target subscription or resource group.
- The Service principal's Application (client) ID, Client secret, and Tenant ID available.
Required permissions
You must be the Account Owner of the Turbo360 account to initiate the BYOB deployment.
How it works
When you choose Use your Azure subscription during the BAM Getting started process, Turbo360 uses your Service principal credentials to provision the following resources in your Azure subscription:
- API Function App — receives and processes incoming tracking events from your integrations.
- Processor Function App — handles backend processing and writes tracked data to the SQL Database.
- Tracker Function App — manages stage-level tracking operations.
- Service Bus Namespace — queues events between the Function Apps.
- Azure SQL Database — stores all transaction tracking data.
After deployment, a sample business process, transaction, and transaction instances are provisioned automatically so you can verify the setup immediately.
Steps
Use the following steps to configure and initiate a BYOB deployment. Navigate to Business Activity Monitoring > Getting started in the Turbo360 application and select Use your Azure subscription to begin.
Provide and validate Service principal details
Validating the Service principal confirms that Turbo360 has the permissions needed to deploy resources into your subscription.
- Enter your Service principal's Application (client) ID, Client secret, and Tenant ID in the provided fields.
- Click Validate. Once validation is successful, click Next.
Select resource group and configure resources
Selecting an existing resource group or creating a new one determines where BAM deploys the backend resources in your subscription.
- Select a Subscription from the dropdown.
- Select an existing Resource group or click Create new to create one.
- Select the Region for the deployment.
- Under the resource configuration panel, choose Use existing to reuse resources already present in the resource group, or Create new to provision fresh resources.
Customize service and pricing tiers
Customizing the service tier for each resource lets you balance cost against the performance requirements of your tracked transaction volume.
- Set the servicing and pricing tier for the SQL Database.
- Set the servicing and pricing tier for the Processor Function App and the Tracker Function App.
- Set the servicing and pricing tier for the Service Bus Namespace.
- Optionally, tick Reuse app service plan to apply the same plan type as the Processor Function App to the Tracker Function App.
Use the Azure calculator link on this page to estimate the monthly cost of the selected pricing tiers before initiating deployment.
Initiate deployment
Initiating deployment triggers Turbo360 to provision all selected resources in your Azure subscription.
- Review all configuration settings.
- Click Initiate deployment.
A video walkthrough plays while resources are being deployed, demonstrating how BAM works with a simple use case. Deployment typically completes within a few minutes. The sample configuration shown in the video is provisioned automatically alongside the infrastructure.
Post-deployment configuration
Managing Service principal credentials
You can update the Service principal credentials associated with your BYOB deployment at any time without redeploying the environment.
- Go to Settings > Configuration.
- Open the Actions dropdown.
- Select Service principal details.
- Update the credentials and save.
Accessing the SQL database connection string
After BYOB deployment, a system user and password are created for the provisioned Azure SQL Database. Retrieve the connection string from BAM Storage details if you need to connect to the database directly.
- Go to Settings > Configuration and switch to the Storage details tab.
- Copy the Azure storage and Azure SQL connection strings.
Application Insights log optimization
All BAM transactions are logged to the Application Insights instance associated with the deployed Function Apps. By default, both Information and Exception log levels are enabled. For high transaction volumes, limiting logging to Error reduces Application Insights costs.
Add the following settings to the deployed API Function App in the Azure application under Configuration > Application settings:
| Name | Value |
|---|---|
AzureFunctionsJobHost__logging__logLevel__Function.StartTransaction |
Error |
AzureFunctionsJobHost__logging__logLevel__Function.CheckPoint |
Error |
AzureFunctionsJobHost__logging__logLevel__Function.CheckpointWithCorrelation |
Error |
Add the following settings to the deployed Processor Function App:
| Name | Value |
|---|---|
AzureFunctionsJobHost__logging__logLevel__Function.StartTransactionProcessor |
Error |
AzureFunctionsJobHost__logging__logLevel__Function.CheckPointProcessor |
Error |
AzureFunctionsJobHost__logging__logLevel__Function.CheckpointWithCorrelationProcessor |
Error |
Troubleshooting
-
Service principal validation fails.
Cause: The Application (client) ID, Client secret, or Tenant ID is incorrect, or the Service principal does not have sufficient permissions on the subscription.
Fix: Verify the credentials in the Azure application under App registrations. Confirm the Service principal has Contributor access to the target subscription or resource group. -
Deployment fails partway through.
Cause: The Service principal lacks permissions to create one or more resource types (Function Apps, SQL Database, Service Bus), or the selected region does not support the chosen pricing tier.
Fix: Review the Azure activity log in the target resource group for the specific failure. Adjust permissions or change the region and pricing tier, then re-initiate deployment. -
No sample data appears after deployment completes.
Cause: The sample business process provisioning may still be in progress, or the Function Apps have not yet started.
Fix: Wait a few minutes and refresh the BAM application. If no sample data appears after 10 minutes, verify that the deployed Function Apps are in a Running state in the Azure application. -
Service principal credentials need updating but the Actions dropdown is not visible.
Cause: The current user does not have Account Owner permissions.
Fix: Log in as the Account Owner to access the Actions dropdown and update the Service principal details. -
Application Insights costs are unexpectedly high after deployment.
Cause: The default log level (InformationandException) generates a high volume of log entries for large transaction workloads.
Fix: Apply theErrorlog level settings to both the API Function App and the Processor Function App as described in the Application Insights log optimization section above.