แก้ไข

Messaging services on Azure and AWS

This article compares core AWS and Azure services for email, queues, publish-subscribe messaging, event routing, and event streaming. Select a service based on the message type, delivery guarantees, ordering, throughput, protocol compatibility, and consumer model that your workload requires.

For a detailed Azure service-selection guide, see Choose between Azure Event Grid, Event Hubs, and Service Bus.

Amazon Simple Email Service

Amazon Simple Email Service (Amazon SES) sends transactional, bulk, and marketing email.

Azure doesn't provide a single equivalent for these scenarios. Use Microsoft 365 High Volume Email for automated, transactional, and operational email to recipients within your Microsoft 365 tenant. Use Exchange Online for person-to-person business email, not bulk delivery.

For external transactional, bulk, or marketing email, use a specialized communications provider such as Infobip, Telesign, Twilio SendGrid, or others.

Amazon Simple Queue Service

Amazon Simple Queue Service (Amazon SQS) provides managed queues that decouple distributed application components. Azure provides two queue services:

  • Use Azure Queue Storage for basic, high-scale work queues. Queue Storage supports queues larger than 80 GB, visibility timeouts for retry and lease behavior, and in-place message updates for persisting processing progress.

  • Use Azure Service Bus queues for enterprise messaging features such as sessions for first-in-first-out (FIFO) ordering, transactions, duplicate detection, automatic dead-lettering, and publish-subscribe messaging through topics and subscriptions.

  • Use Azure Relay when you need to securely expose an on-premises service to cloud clients without opening inbound firewall connections. Relay provides hybrid network connectivity and isn't a queue service.

Integrating between Azure and AWS messaging services

When components that use Amazon SQS must exchange messages with components that use Azure Service Bus, use the Messaging Bridge pattern. A bridge introduces another runtime dependency, so design it for idempotent processing, monitoring, and recovery from partial failures.

Messaging components

AWS service Azure service Description
Amazon Simple Queue Service (Amazon SQS) Azure Queue Storage or Azure Service Bus queues Use Queue Storage for basic, high-scale work queues. Use Service Bus when you need transactions, FIFO ordering through sessions, duplicate detection, dead-lettering, or advanced routing.
Amazon Simple Notification Service (Amazon SNS) Azure Service Bus topics, Azure Event Grid, Microsoft 365 High Volume Email, or a specialized communications provider SNS spans several scenarios. Use Service Bus topics for durable application-to-application messages with enterprise broker features. Use Event Grid for discrete event notifications and reactive routing. Use High Volume Email for automated email to recipients within your Microsoft 365 tenant. For SMS or external application-to-person email, use a communications provider listed in the Azure Communication Services retirement guide.
Amazon EventBridge Azure Event Grid Both services route discrete events from applications, cloud services, and partner sources to subscribers. Compare supported sources, targets, filtering, transformation, retry, dead-lettering, and delivery models.
Amazon Kinesis Data Streams Azure Event Hubs Both services ingest and retain high-throughput event streams for multiple independent consumers. Evaluate partitioning, retention, replay, throughput, protocol, and scaling requirements. Event Hubs supports AMQP, HTTPS, and Kafka-compatible endpoints.
Amazon MQ Azure Service Bus For existing JMS applications, Service Bus Premium supports JMS 2.0, and Service Bus Standard supports a limited, queue-focused JMS 1.1 subset. The Service Bus JMS client can't receive from session-enabled entities or use AMQP over WebSockets, so use the native Service Bus SDK when FIFO sessions or WebSocket transport are required. Assess protocol, API, topology, and broker-specific feature compatibility before migrating from ActiveMQ or RabbitMQ.

Messaging architectures

Architecture Description
Scalable web application Use the proven practices in this reference architecture to improve scalability and performance in an Azure App Service web application.
Enterprise integration by using queues and events A recommended architecture for implementing an enterprise integration pattern with Azure Logic Apps, Azure API Management, Azure Service Bus, and Azure Event Grid.