Dan Rosanova Principal Program Manager Lead Microsoft Messaging
70 Slides8.68 MB
Dan Rosanova Principal Program Manager Lead Microsoft Messaging yesterday, today, and tomorrow
Azure Messaging Services Service Bus Reliable asynchronous message delivery Event Hubs Distributed data streaming Relay Secure two way communication without changes to your network
Azure Messaging by the numbers 23 Trillion 8,587,216 99.9984% Requests in last month in Event Hubs Requests per second average 24/7 50ms Success Rate Average Event Hubs send latency 28 PB 2.2 Million 5.4 Million 580 Billion Monthly data volume Message Queues and Topics in production Downloads of Service Bus Nuget package Message operations on Azure Service Bus Messaging per month
Event Hubs traffic growth since Integrate 2016 2.75 Trillion 23 Trillion
In the time I’m on this stage 23,185,483,2 00
And this is increasing: last 7 days 5,566,238,232,781 Requests 99.9995% Success Rate 28 million failures
And this is why
A brief history of messaging Financial Services Utilities & Telecom Teknekron Informatio n Bus MSMQ IBM MQ Series 1980s Logistics Insurance Healthcare ServiceBu s BizTalk TIBCO Government RabbitMQ Event Hubs Toda
The Messaging Landscape today In the Cloud On Premises
The Messaging Landscape today Software Services
The Messaging Landscape today Software Services In the Cloud On Premises
Messaging is changing By NASA, ESA, HEIC, and The Hubble Heritage Team (STScI/AURA) - [1], Public Domain, https://commons.wikimedia.org/w/index.php?curid 1569415
In the beginning
We used to purchase a messaging platform
It was a big commitment
That we had to live with
For a long. LONG time
A good pattern for people but maybe not for technology
The evolving Messaging Landscape Bidirectional Socket Relays “Enterprise” Messaging Logging & Big Data Streaming Simple Messaging
The evolving Messaging Landscape Bidirectional Socket Relays “Enterprise” Messaging Logging & Big Data Streaming Simple Messaging
Messaging is becoming more specialized The branches of the specialization or more focused on specific functional areas A single application or solution will likely use multiple “messaging” services Cloud messaging makes this all possible
This is not unique to messaging
Another shift in messaging Simple Messaging Enterprise Messaging On Premise Cloud
Software compared to PaaS
PaaS and Software PaaS (We do) OS Patching Runtime monitoring Load balancing Software patching Continual improvement NonPaaS (You do)
Software (Downloading Kafka)
Preconfigured “platforms” (Elastic EMR) aren’t true “PaaS”
True PaaS
Event Hubs
Distributed Data Streaming Event Hubs A streaming service designed to do low latency distributed stream ingress A partitioned consumer scale model A time retention buffer An elastic component in the middle of your chain
Where Telemetry & Streaming fit in Event producers Collection Ingress Stream Processing Long-term storage Fast Data Applications Legacy IOT (custom protocols) Devices IP-capable devices (Windows/Linux) Presentation / action PowerBI Dashboards Service bus IoT Cloud gateways (web APIs) Event hubs Big Data Azure DBs Search and query Stream processing HDInsight Slow Data Cortana Analytics Azure Storage Azure Data Lake Low-power devices (RTOS) Field gateways Devices to take action
Event Hubs conceptual architecture Azure Event Hub Partition 1 HTTP AMQP Partition 2 Consume r Group Event Receivers Event Producers Partition 3 Partition 4 Consume r Group 2
Or said another way
What do people really do with Event Hubs? App telemetry AdTech Sensor telemetry User data & clickstreams Gaming telemetry
Event Hubs and IoT Hub
Azure IoT Hub is the ideal service for IoT deployments Connect, monitor and manage billions of IoT assets. Ideal for IoT deployments proving path forward from POC to full scale, while maximizing IoT security Provide enhanced Establish bi-directional Provide device lifecycle security for IoT communication management solutions Device to cloud telemetry Cloud-to-device messages Durable command messages Per device authentication Device Management at scale Individual credentials Remotely maintain devices from the cloud Selectively revoke access rights Edge intelligence via Gateway SDK
Event Hub is the ideal service for telemetry ingestion from websites, apps and streams of big data Cloud-scale telemetry ingestion service that can log millions of events per second in near real time Stream millions of events per second Telemetry and logging Process real-time and batch on same stream Event Hub Capture* to load data to Azure *Capture used to be called Archive Fully-manage service Batch processing Ingest events with elastic scale Real time processing Accommodate variable load profiles Scale ingestion service Distributed streaming platform Handle volume, variety and velocity of data
Service Bus (Queues & Topics)
Messaging as a Service (MaaS) Queues & Topics Reliable asynchronous communication Rich features for temporal control Routing and filtering Transactions Convoys & Sessions (related messages with state)
The basics of a queue Sender sends message to queue Queue ACKs receipt Receiver connects to queue & retrieves message Receiver ACKs complete (or other action) Sender Receiver
Do I really need a slide for this here?
Topics & Subscriptions Sender only knows about Topic Receivers only know about Subscriptions Filters and Actions exist on Subscriptions type order Filter “type” “order” type quot e Subscription 1 Topic “type” “quote” Filter Subscription 2
Enterprise Messaging is a mature Most “Enterprise” customers will have some space Enterprise Messaging is moving to the Azure Service Bus is driving this move! cloud
Features of Service Bus Scheduled delivery Poison message handling ForwardTo Defer Sessions Batching Ordering Auto-delete on idle OnMessage Duplicate detection Filters Actions Transactions
It doesn’t get easier than this!
Logic Apps can use all of these features
How customers use Service Bus How we built it: ASOS shift from local monolith to built for Cloud online retail system Lead architect, Dave Green https://youtu.be/PigmI6APbQ8
Relay & Hybrid Connections
Cloud relayed communication Hybrid Connections & Relay Securely connect to on premises data and services from anywhere Load balance multiple sites behind a single endpoint Protect internal services by projecting a cloud endpoint Does not require any network changes
Where does relay fit When you have scenarios that are too complex or costly for VPN When you have to keep your data where it is United States European Union
Relay: Real-time communication proxy The basis of Hybrid Cloud Used to decouple Location Security VPN and Firewall constraints Client Firewall Firewall Service
How Relay works Service registers cloud endpoint Client connects to cloud endpoint Network magic happens Client Firewall Firewall Service
A network rendezvous Client A B C D Control Channel Service
Some real life examples RDP & SSH to on premises servers and devices More than one company does this They monitor and record sessions BizTalk 360 also uses Relay
What we’ve been up to
Recent progress New Hybrid Connections Native Java clients for Service Bus & Event Hubs GA Premium Service Bus Now in 19 regions (tell us where you need us) New portal experience
The road ahead
We’re busy! Encryption at rest (Event Hubs and Premium Service Bus) Managed Secure Identity: No more connection strings Bring your own key (BYOK) encryption at rest for premium products IP Filtering Vnet Completely new metrics pipeline
GeoDR: Coming to Event Hubs, Service Bus, and Relay this summer
Azure Messaging GeoDR: What it gives you Dual-region active-passive without all the client coordination work A single, stable, connection string / FQDN Explicit customer controlled failover User controlled RTO! Confidential - Microsoft
GeoDR – How it works You create an Alias – FQDN like namespace Select your primary region & NS name Select your secondary region & NS name We will copy all metadata between regions You call REST call to initiate failover We eject the old primary & break the metadata sync Alias connection string continues to work for send and receive Previous primary is left untouched Establish pair to a new secondary Confidential - Microsoft
In pictures Traffic Alias Primary Confidential - Microsoft Syn c Secondary
In pictures: Failover triggered Traffic Cmd No longer paired Confidential - Microsoft Alias Primary
In pictures: Pair to new secondary Traffic Alias New Secondary Confidential - Microsoft Syn c Primary
Caveats and subtleties This is a DR tool There is no state (i.e. messages) You need to decide when to failover You still need to decide how your compute will failover it’s own state if needed You decide what to do about messages in the old primary region There is no failback – it is a fail forward model We need to an empty namespace as the secondary Confidential - Microsoft
Q&A
One last thing