Azure Service Bus: The Messaging
Backbone for Cloud Applications
Sean Feldman
What we’ll cover today
• What are the challenges building cloud and hybrid applications?
• What makes Azure Service Bus a good enterprise messaging service?
• Messaging concepts supported by Azure Service Bus
• Conclusions
What are the challenges
building cloud and hybrid
applications?
The evolution of a simple app
from a single server hosting
everything
Multi-server world
Scaling out vs scaling up
Does a user need to wait?
Leveling the load
Example: Amazon order
Applications evolving into systems
Messaging
Why Azure Service Bus
Cloud native messaging
service
Reliable asynchronous
message delivery
At least once delivery of a
message
Boundaries and trust
Better positioned compared
to other messaging services
Messaging concepts supported by
Azure Service Bus
Disclaimer
.NET 5 Azure.Messaging.ServiceBus
Queues: send and receive
Receive mode
Payload and metadata
Competing consumers
Competing consumers (seeding queue)
Competing consumers (processor)
Competing consumers (processor events)
Pub/Sub
Topic
Subscription
Rule
- Filter
Boolean, correlation or SQL
- Action
…
Pub/Sub (example)
topic
all-messages
BooleanFilter(true) / SQL(1=1)
important-messages
Correlation(Label=‘important’)
Action(SET level=‘vip’)
regular-messages
SQL(Label NOT in (‘important’))
Action(SET level=‘regular’)
Pub/Sub (creation of topic/subscriptions/rules)
Pub/Sub (publishing)
Delivery count and dead-lettering
Max Delivery
Count
DLQ
Dead-lettering (queue setup)
Dead-lettering (results)
Batching
Sessions
Sessions (enabling sessions)
Sessions (receiving)
Cross-entity transactional processing (Send-Via)
c
B
A
Incoming
Cross-entity transactional processing
c
B
A
transfer
Incoming
Cross-entity transactional processing
Cross-entity transactional processing
bQueue
aQueue
test
And much
more…
• Scheduling
• Forwarding
• De-Duplication
• Large message support
• etc.
CONCLUSIONS
• Messaging is not a silver bullet
• No distributed transactions
• Outages and downtime are guaranteed
• Spikes
• Eventual consistency
• 24/7 operational status (system never sleeps)
• Standard vs Premium namespace
THANK YOU
@sfeldman feldman.sean@gmail.com weblogs.asp.net/sfeldman

Azure Service Bus: The Messaging Backbone for Cloud Applications