Business systems

When Should You Integrate Business Systems? Choosing the Right Integration Approach

A practical guide to when to integrate business systems, how to define data ownership, and when to use synchronous APIs, asynchronous events, or scheduled sync — now updated with a CES migration addendum for AMQP deprecation and Fabric Eventstreams.

The Drix TeamPublished Updated 7 min read
  • Systems Integration
  • change data capture
  • eventstreams
  • fabric
  • event-hubs
  • integration
Business system integration architecture connecting ERP, CRM, APIs, events, and scheduled sync

Business system integration is more than connecting two apps. A useful integration starts with the business process crossing system boundaries, the exact data that must move, who owns each domain, required data freshness, and failure/rollback behavior. This guide helps product and engineering teams choose between synchronous APIs, asynchronous messaging/events, or scheduled synchronization, and provides patterns for retries, idempotency, monitoring, and post-launch ownership. Update (Aug 2026): we added an operational migration addendum for Microsoft Change Event Streaming (CES) after Microsoft marked AMQP deprecated for creating new CES stream groups (effective Aug 15, 2026) and added support for streaming to Microsoft Fabric Eventstreams. The addendum includes a migration checklist, architecture comparisons, IaC and SQL examples, testing guidance, and an operational rollback plan.

1. Start With the Business Process, Not the Tech

Before choosing a protocol or platform, describe the business process that must cross systems: what starts it, which system is authoritative, who consumes the data, and how critical is immediate response?

  • Identify the business event that initiates the integration.
  • Assign an authoritative system for each important data domain.
  • Select an integration model based on required latency and failure tolerance.

What changed (Aug 15, 2026)

Microsoft documented that AMQP is deprecated for creating new Change Event Streaming (CES) stream groups for Azure SQL Managed Instance effective August 15, 2026, and confirmed that CES can stream directly to Microsoft Fabric Eventstreams in addition to Azure Event Hubs. See the Azure SQL Managed Instance release notes for the announcement.

  • Deprecation of AMQP affects teams with AMQP-based CES pipelines to Event Hubs or Fabric Eventstreams.
  • CES continues to emit CloudEvents-formatted messages; the change affects transport and authentication choices (Kafka or Event Hubs SDKs recommended).
  • Deprecation is not a stated removal; customers should verify sunset timelines with Microsoft support.

Who is affected and how urgent is action?

Inventory CES stream groups to find those using Event Hubs endpoints via AMQP. Prioritize by consumer compatibility and production risk: custom AMQP consumers, third-party connectors, or high-SLA paths require faster action.

  • Immediate: production pipelines where consumers require AMQP clients and no Kafka support.
  • Planned: teams that can reconfigure clients to use Kafka or Event Hubs native SDKs within a planning window.
  • Optional/Low: non-critical streams where migration can be aligned to a longer maintenance cycle.
  1. 1List all CES groups and their destination configurations and owners.
  2. 2Classify each downstream consumer for Kafka compatibility or need for protocol bridging.
  3. 3Assign migration urgency and owners per stream group.

Protocols and authentication implications

AMQP deprecation means architects will choose Kafka protocol to target Azure Event Hubs or use Event Hubs client libraries that do not depend on AMQP. Fabric Eventstreams supports authentication via Microsoft Entra (Managed Identity), SAS tokens, or SAS keys; role assignments and workspace access must be validated for managed identities.

  • Transport: Kafka is the recommended alternative for CES to Event Hubs; Fabric Eventstreams integration is supported natively.
  • Auth: Fabric Eventstreams supports Managed Identity (Azure AD), SAS token, and SAS key; grant Azure Event Hubs Data Sender or Contributor roles to the SQL MI managed identity as required.
  • TLS: Ensure Event Hubs minimum TLS version is compatible (recommend TLS 1.2 during any AMQP coexistence period).

Event Hubs vs Fabric Eventstreams — decision framework

Compare choices along consumer compatibility, governance, latency, and operational tooling. Fabric Eventstreams provides closer Fabric workspace integration and fan-out inside Fabric; Event Hubs remains the conservative choice for broad multi-tenant consumer ecosystems and third-party integrations.

  • Choose Event Hubs when you need broad external consumer compatibility or existing Event Hubs ecosystems.
  • Choose Fabric Eventstreams when you want direct ingestion into Fabric for real-time analytics, workspace-level governance, and fan-out to Fabric activators.
  • Operationally, grant managed identities the appropriate Azure RBAC roles; Fabric targets may require workspace-level permissions.

Migration checklist and step-by-step procedure

An ordered, actionable migration checklist you can follow to move CES stream groups away from AMQP with minimum disruption.

  1. 1Inventory AMQP-based CES stream groups and identify owners and consumers.
  2. 2Select target: Event Hubs (Kafka) or Fabric Eventstreams based on downstream topology and governance needs.
  3. 3Design partition strategy and choose partition_key_scheme in CES to match consumer expectations.
  4. 4Provision target resources using IaC (Terraform/ARM/Bicep) and assign roles to SQL MI managed identity.
  5. 5Update CES stream group configuration to use protocol = kafka for AzureEventHubs or to point to Fabric Eventstream with the chosen auth method.
  6. 6Run canary contract tests and load tests validating CloudEvents fields, ordering, and idempotency.
  7. 7Perform phased cutover with monitoring and an explicit rollback plan that can re-enable the AMQP endpoint or dual-write temporarily.

Infrastructure snippets (Terraform / ARM / SQL)

Inline examples to provision Event Hubs, set TLS policy, and configure a CES stream group. Replace placeholders with your environment values.

  1. 1Terraform snippet to create Event Hubs namespace, event hub, and role assignment for a managed identity: provider "azurerm" { features = {} } resource "azurerm_eventhub_namespace" "eh_ns" { name = "myehnamespace" location = "eastus" resource_group_name = "rg-events" sku = "Standard" } resource "azurerm_eventhub" "eh" { name = "db-changes" namespace_name = azurerm_eventhub_namespace.eh_ns.name resource_group_name = "rg-events" partition_count = 4 } resource "azurerm_role_assignment" "mi_sender" { scope = azurerm_eventhub_namespace.eh_ns.id role_definition_name = "Azure Event Hubs Data Sender" principal_id = "<sql-mi-managed-identity-object-id>" }
  2. 2ARM snippet to set the Event Hubs namespace minimum TLS version: { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "resources": [ { "type": "Microsoft.EventHub/namespaces", "apiVersion": "2022-10-01", "name": "myehnamespace", "properties": { "minimumTlsVersion": "1.2" }, "location": "eastus" } ] }
  3. 3SQL example to point CES stream group at an AzureEventHubs Kafka endpoint: EXEC sys.sp_add_object_to_event_stream_group @stream_group_name = N'orders-stream-group', @object_schema_name = N'dbo', @object_name = N'Orders', @destination_type = N'AzureEventHubs', @destination_params = N'{"namespace":"myehnamespace.servicebus.windows.net","eventhub_name":"db-changes","protocol":"kafka","auth":{"type":"managed_identity","client_id":"<managed-identity-client-id>"},"partition_key_scheme":"StreamGroup","max_message_size_kb":64}', @enabled = 1;

Testing, monitoring and the operational runbook

Tests and monitoring essentials to validate correctness and detect regressions during/after migration.

  • Contract tests for CloudEvents payload and required headers for each consumer.
  • Load tests for throughput, partition throughput, and throttling behavior under peak conditions.
  • Monitoring: Azure Monitor metrics for Event Hubs ingestion and throttling, Fabric Real-Time Intelligence metrics for Eventstreams, diagnostic settings, and alerts for consumer lag.
  • Rollback: validated steps to revert CES destination configuration or to dual-write while diagnosing issues.

Schema evolution and consumer compatibility

CES emits CloudEvents envelopes. Consumers must parse CloudEvents and tolerate schema evolution. Use a schema registry or versioning strategy for safe changes.

  • Include version metadata in CloudEvents extensions or payload to support backward/forward compatibility.
  • If consumers relied on AMQP-specific headers, provide a transformation layer to project these into CloudEvents extensions or message keys.
  • Run contract tests for each consumer to ensure no implicit header/dependency is lost in transport change.

Known unknowns and risk mitigation

Microsoft's deprecation notice does not specify an enforced removal date for AMQP-based CES groups. That uncertainty is material for planning; contact Microsoft support for a firm sunset schedule if required by your compliance or SLA constraints.

  • Feature parity between Fabric Eventstreams and Event Hubs (private endpoints, CMK) may vary by region — verify before production migration.
  • Third-party connectors relying on AMQP semantics may need rewriting or bridging; map dependencies early.
  • No automated migration tool is documented publicly; prepare runbooks and IaC to perform migrations in an auditable way.

Frequently Asked Questions

Will existing AMQP-based CES stream groups stop working immediately? Microsoft's documentation states AMQP is deprecated for creating new CES stream groups starting August 15, 2026, but it does not specify a hard end-of-life for existing AMQP groups. Customers should contact Microsoft support to confirm sunset timelines for their environments.

Can I use Managed Identity to authenticate CES to Fabric Eventstreams? Fabric Eventstreams supports Microsoft Entra (Azure AD) managed identities in addition to SAS token/key. When supported, create a Managed Identity for your SQL MI and assign it appropriate roles (for example Azure Event Hubs Data Sender). Check platform-specific documentation for constraints.

What network and TLS settings should I verify before migration? Allow outbound TLS to Event Hubs Kafka endpoints (commonly over port 9093 under TLS). Verify the Event Hubs namespace minimum TLS version; if set to TLS 1.3, AMQP may be impacted. Microsoft docs recommend ensuring TLS 1.2 compatibility where AMQP is still required temporarily.

Conclusion

Treat AMQP deprecation as an operational action item: inventory CES groups, choose a target, run POCs, and execute phased cutovers with monitoring and rollback plans. Use Managed Identity where supported and coordinate with Microsoft support to confirm any sunset dates that affect your production timelines.

Limitations

Microsoft documented AMQP deprecation effective Aug 15, 2026 but did not publish a definitive removal date for existing CES groups. Feature parity between Fabric Eventstreams and Event Hubs for advanced features (private endpoints, CMK) may vary by region and should be validated in POCs. Some third-party connectors may require non-trivial work to migrate from AMQP.

Sources and references

Have a project idea and need a clear technical decision? Let’s define the right next step

We help you understand the requirements and define the right scope before development begins.

Book a consultation