Architecture

Prev Next

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

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

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

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

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

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

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