Dan Toomey presented on building event-driven integration architectures using Azure services. He discussed key event concepts like event types and event sourcing versus event notification. Event Grid was highlighted as a serverless solution for handling events and reacting to state changes across Azure resources and external webhooks. Toomey advocated for an event-driven design approach to build cost-effective and responsive cloud applications, and recommended choosing the appropriate Azure messaging service like Event Grid, Event Hubs or Service Bus based on your specific needs.
22. Event Grid, Event Hubs, Service Bus?
https://buildazure.com/2017/09/07/a-tour-of-azure-messaging-services-queues-event-grid-iot-hub-and-more/
Service
Bus
Event
Hub
Event
Grid
• High-value enterprise
messaging
• Order processing and
financial transactions
• Control
• Pull model
• Big data pipeline
• Telemetry
• Distributed data
streaming
• Replay
• Event handling
• Reactive programming
• Push model
27. Summary
Event-driven design allows for cost-effective, real-
time, responsive applications
Event Grid provides a robust serverless solution for
easily building reactive event-driven cloud applications
Use the right tool for the job!
NO SPORKS WERE HARMED IN THE
MAKING OF THIS PRESENTATION
No need for context or relationship to other events to be significant;
ex: file created
Meaning is derived from a group of recorded metrics
Think of a chart with a time-based X axis
“This happens when a system sends event messages to notify other systems of a change in its domain. A key element of event notification is that the source system doesn't really care much about the response. Often it doesn't expect any answer at all, or if there is a response that the source does care about, it's indirect. There would be a marked separation between the logic flow that sends the event and any logic flow that responds to some reaction to that event.”
Can derive the current status of a resource from its event history (ordered sequence of events)
Can recover state because events are immutable
“The core idea of event sourcing is that whenever we make a change to the state of a system, we record that state change as an event, and we can confidently rebuild the system state by reprocessing the events at any time in the future. The event store becomes the principal source of truth, and the system state is purely derived from it. For programmers, the best example of this is a version-control system. The log of all the commits is the event store and the working copy of the source tree is the system state.”
APIs are abundant, data is ubiquitous.
Think about all the notifications
Copernican shift – how to maintain data consistency between all those APIs?
Simplicity - Point and click to aim events from your Azure resource to any event handler or endpoint.
Built-in Events - Get up and running quickly with resource-defined built-in events.
Custom Events - Use Event Grid route, filter, and reliably deliver custom events in your app.
Additional Sources:
Azure App Configuration
Azure Container Registry
Azure Event Hubs
Azure IoT Hub
Azure Key Vault
Azure Machine Learning
Azure SignalR
Based on Service Fabric
99.99% availability
https://docs.microsoft.com/en-us/azure/event-grid/delivery-and-retry
10 seconds
30 seconds
1 minute
5 minutes
10 minutes
30 minutes
1 hour
Event Grid adds a small randomization to all retry intervals.
Q: What do these big numbers mean?
A: It means you still need to build some error handling in your apps!
1MB size limit in preview
Service Bus: High-value enterprise messaging - Order processing and financial transactions
Event Hubs: Big data pipeline - Telemetry and distributed data streaming
Event Grid: Reactive programming - React to status changes