--- title: "Architecture" slug: "bam-architecture" updated: 2026-10-30T07:17:07Z published: 2026-10-30T07:17:07Z canonical: "docs.turbo360.com/bam-architecture" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.turbo360.com/llms.txt > Use this file to discover all available pages before exploring further. # Architecture ## Overview Business Activity Monitoring (BAM) is built on a layered architecture that separates data ingestion, storage, processing, and presentation. This article describes the system components, how they interact, and the deployment models available for your environment. ### Business value - Plan deployments and estimate infrastructure requirements - Troubleshoot data flow issues - Know which components are hosted by Turbo360 and which run in your Azure subscription ## How it works BAM is built around five architectural layers: data ingestion, storage backend, processing and rule evaluation, the Turbo360 platform, and deployment. Each layer plays a distinct role in how transaction data flows from your integration services into Turbo360. ![bam-architecture-overview-five-layers.svg](https://cdn.document360.io/a21734f9-5f67-4835-bb81-a488f8191fa8/Images/Documentation/bam-architecture-overview-five-layers.svg) ### Layer 1: Data ingestion BAM uses two data ingestion models, push and pull, that feed into a shared backend. #### Push model In the push model, your integration services send tracking events directly to the BAM API. Data flows in as transactions execute, and each call carries correlation identifiers, stage checkpoints, property values, and exception payloads. Supported ingestion methods include: - Direct HTTP calls to the BAM API - Logic Apps custom connector - .NET library (for custom applications) - API Management proxy integration Events are received, validated, and written to the BAM storage backend. No polling or scheduled extraction is required. #### Pull model In the pull model, BAM queries data from existing Azure data sources on a scheduled or on-demand basis. BAM reads from sources such as Application Insights, Azure Monitor Logs, and Log Analytics workspaces. You define the query, the data source, and the stage mapping, and BAM extracts and normalizes the results into the transaction model. The pull model is suited to environments where instrumentation of the source service is not possible, or where existing telemetry already captures the data you need. ![bam-architecture-layer-1-data-ingestion.svg](https://cdn.document360.io/a21734f9-5f67-4835-bb81-a488f8191fa8/Images/Documentation/bam-architecture-layer-1-data-ingestion.svg) ### Layer 2: Storage backend Both ingestion paths write to the BAM storage layer, which is provisioned in your Azure subscription. The storage backend holds: - Business process and transaction definitions - Transaction instance records and stage progression data - Property values and exception payloads - Monitoring rule configurations and alert state You control the storage account, retention policy, and regional placement. BAM does not retain your transaction data in Turbo360-managed infrastructure. ![bam-architecture-layer-2-storage-backend.svg](https://cdn.document360.io/a21734f9-5f67-4835-bb81-a488f8191fa8/Images/Documentation/bam-architecture-layer-2-storage-backend.svg) ### Layer 3: Processing and rule evaluation The BAM processing layer evaluates monitoring rules (duration thresholds, exception patterns, and query-based conditions) against incoming and stored transaction data. When a rule condition is met, the processing layer generates an alert and routes it through the configured notification channels (email, Microsoft Teams, escalation chains). ![bam-architecture-layer-3-processing-and-rule-evaluation.svg](https://cdn.document360.io/a21734f9-5f67-4835-bb81-a488f8191fa8/Images/Documentation/bam-architecture-layer-3-processing-and-rule-evaluation.svg) ### Layer 4: Turbo360 platform The Turbo360 platform is the management and monitoring interface. It connects to the BAM storage backend via the service principal you configure during setup. All query operations, dashboard rendering, alert management, and transaction instance browsing are served through the platform. ![bam-architecture-layer-4-turbo360-platform.svg](https://cdn.document360.io/a21734f9-5f67-4835-bb81-a488f8191fa8/Images/Documentation/bam-architecture-layer-4-turbo360-platform.svg) ### Layer 5: Deployment BAM supports two deployment models: | Model | Description | | --- | --- | | Standard deployment | Turbo360 provisions and manages the BAM processing layer. You provide the storage account. Suitable for most production deployments. | | Bring your own backend | You deploy the BAM backend components into your own Azure subscription. Provides full control over networking, compliance boundaries, and data residency. Requires additional setup steps. | The bring-your-own-backend model is recommended for organizations with strict data residency or network isolation requirements. ![bam-architecture-layer-5-deployment.svg](https://cdn.document360.io/a21734f9-5f67-4835-bb81-a488f8191fa8/Images/Documentation/bam-architecture-layer-5-deployment.svg) ## Limitations - The pull model requires read access to the target Azure data source. Data availability and query latency depend on the source service. - Reprocessing is available only in the push model (Custom Logging type). Pull model transactions do not support replay. - Storage retention is governed by your Azure storage account configuration, not by BAM settings. ## Related articles - [What is Business Activity Monitoring?](https://docs.turbo360.com/docs/what-is-business-activity-monitoring) - [Benefits](https://docs.turbo360.com/docs/bam-benefits) - [Use cases](https://docs.turbo360.com/docs/bam-use-cases) - [Environment setup](https://docs.turbo360.com/docs/environment-setup-push-model) - [Bring your own backend](https://docs.turbo360.com/docs/bring-your-own-backend-1) - [Deployment details](https://docs.turbo360.com/docs/deployment-details)