SlideShare a Scribd company logo
2020 - Brisbane
GLOBAL INTEGRATION
BOOTCAMP
Dan Toomey
@daniel2me
Building Event-Driven
Integration Solutions
Who am I?
• Senior Integration Specialist, Deloitte
• Microsoft Azure MVP
• MCSE, MCT, MCPD, MCTS BizTalk &
Azure
• Pluralsight Author
• www.mindovermessaging.com
• @daniel2me
What is an Event?
http://www.news.com.au
Types of Events
https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
Discrete
Independent
Report
state change
Actionable
Series
Time based
Context partitioned
Report condition
Analyzable
Types of Events
https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
Discrete
Independent
Report
state change
Actionable
Series
Time based
Context partitioned
Report condition
Analyzable
Event Driven vs. Event Sourcing
https://martinfowler.com/articles/201701-event-driven.html
Event Notification
Broadcast state
changes
No expectation
from consumer
Decoupled logic
Event Sourcing
Persist state
changes
Auditability
Replay capability
Event Driven vs. Event Sourcing
https://martinfowler.com/articles/201701-event-driven.html
Event Notification
Broadcast state
changes
No expectation
from consumer
Decoupled logic
Event Sourcing
Persist state
changes
Auditability
Replay capability
Why event-driven integration?
Why event-driven integration?
Why event-driven integration?
Why event-driven integration?
Messaging vs
Eventing
Messaging Models
https://mindovermessaging.com/2018/12/10/how-to-explain-messaging-patterns-to-your-grandmother/
Messaging Models
Telephone/Website
• Synchronous
• Need information immediately
Messaging Models
Telephone/Website
• Synchronous
• Need information immediately
Order
• Asynchronous
• Takes time to complete a task; CQRS
Messaging Models
Telephone/Website
• Synchronous
• Need information immediately
Order
• Asynchronous
• Takes time to complete a task; CQRS
Subscription
• Publish / Subscribe
• Decoupling; flexibility; extensibility; scalability
Messaging Models
Telephone/Website
• Synchronous
• Need information immediately
Order
• Asynchronous
• Takes time to complete a task; CQRS
Subscription
• Publish / Subscribe
• Decoupling; flexibility; extensibility; scalability
QUERY
COMMAND
EVENT
Messaging vs. Eventing
https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
Messaging - INTENTS
Expectations
Conversations
Contracts
Control Transfer
Value Transfer
Eventing - FACTS
History
Context
Order
Schema
Messaging vs. Eventing
https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
Messaging - INTENTS
Expectations
Conversations
Contracts
Control Transfer
Value Transfer
Eventing - FACTS
History
Context
Order
Schema
Communication Patterns
https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
Communication Patterns
https://www.biztalk360.com/integrate-2018-resources/eventing-serverless-and-the-extensible-enterprise/
https://cloudevents.io/
Serverless Working Group
https://github.com/cloudevents/spec
CNCF CloudEvents
CNCF CloudEvents
{
"specversion" : "1.0",
"type" : "com.github.pull.create",
"source" : "https://github.com/cloudevents/spec/pull",
"subject" : "123",
"id" : "A234-1234-1234",
"time" : "2018-04-05T17:31:00Z",
"comexampleextension1" : "value",
"comexampleothervalue" : 5,
"datacontenttype" : "text/xml",
"data" : "<much wow="xml"/>"
}
Azure Event Grid
Manage all events in one place
Reliability and performance
Benefits
Manage all events in one place
Messaging by the numbers…
99.9998%2,200,000,000,000
2 PB/day1.3 PB/day
What these big numbers mean…
99.9998%2,200,000,000,000
4.4 million failures
Azure Event Grid Limitations
aeg-sas-key header
aeg-sas-token
r={resource}&
e={expiration}&
s={signature}
Microsoft.EventGrid/
EventSubscriptions/Write
/subscriptions/{id}/
resourceGroups/{rg-name}/
providers/{provider}/
{res-type}/{resource-name}
/subscriptions/{id}/
resourceGroups/{rg-name}/
providers/Microsoft.EventGrid/
topics/{topic-name}
• Microsoft.EventGrid/*/read
• Microsoft.EventGrid/*/write
• Microsoft.EventGrid/*/delete
• Microsoft.EventGrid/
eventSubscriptions/
getFullUrl/action
• Microsoft.EventGrid/topics/
listKeys/action
• Microsoft.EventGrid/topics/
regenerateKey/action
+ Custom roles
Security
https://docs.microsoft.com/en-us/azure/event-grid/security-authentication
[
{
"topic": "/subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Storage/storageAccounts/{storageacc}",
"subject": "/blobServices/default/containers/monitored/blobs/blob.json",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-09-20T01:12:35.8066557Z",
"id": "9ac0de1a-001e-00da-23ad-311d4a06bb2f",
"data": {
"api": "PutBlob",
"clientRequestId": "9ac0de1a-9da0-11e7-9a3b-51cc40a2ca27",
"requestId": "9ac0de1a-001e-00da-23ad-311d4a000000",
"eTag": "0x9AC0FC4ADA5997D",
"contentType": "application/json",
"contentLength": 268,
"blobType": "BlockBlob",
"url": "https://{storageacc}.blob.core.windows.net/monitored/blob.json",
"sequencer": "00000000000019200000000000F12B37",
"storageDiagnostics": {
"batchId": "9ac0de1a-e1a1-44c5-a0a1-a66b2a191fc4"
}
}
}
]
Blob Event Sample
Event Domain
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 : Transactions, control, pull
Event Hub : Telemetry, streaming
Event Grid : Event handling, reactive, push
GIB2020 - Building Event-Driven Integration Architectures
Storage
Blob
Event Grid
Webhook
Webhook
Storage
Event
Subscription
ext = *.jpg
Subscription
ext = *.pdf
GIB2020 - Building Event-Driven Integration Architectures
Microsoft Azure
Resource Group
Event Grid
Azure
Function
Logic App
Virtual machine
Storage table
Outlook
Connector
Azure
Function
Administrator
Summary
Event-driven design allows for cost-effective, real-
time, responsive applications
Eventing is not the same as messaging
Event Grid provides a robust serverless solution for
easily building event-driven cloud applications
@BrisbaneAzureUG
meetup.com/Brisbane-Azure-User-Group
2nd Wednesday each month from 5:30pm
400 George Street, Level 28
bit.ly/BAUGYouTubeChannel
www.integrationdownunder.com
Let’s connect!
dtoomey@deloitte.com.au
@daniel2me
linkedin.com/in/danieltoomey
mindovermessaging.com

More Related Content

PPTX
Microsoft Azure News - May 2020
PPTX
Building Event-Driven Integration Architectures with Azure Event Grid (GIB2019)
PPTX
Building Event-Driven Integration Architectures with Azure Event Grid (INTEGR...
PPTX
Microsoft Azure News - January 2020
PPTX
Four Scenarios for an Integration Service Environment (ISE)
PPTX
Microsoft Azure News - May 2021
PPTX
Microsoft Azure News - October 2021
PPTX
Microsoft Azure News - September 2021
Microsoft Azure News - May 2020
Building Event-Driven Integration Architectures with Azure Event Grid (GIB2019)
Building Event-Driven Integration Architectures with Azure Event Grid (INTEGR...
Microsoft Azure News - January 2020
Four Scenarios for an Integration Service Environment (ISE)
Microsoft Azure News - May 2021
Microsoft Azure News - October 2021
Microsoft Azure News - September 2021

What's hot (20)

PPTX
Microsoft Azure News - Feb 2021
PPTX
Serverless iPaaS in Azure (IDU)
PPTX
Microsoft Azure News - August 2021
PPTX
Azure Overview Arc
PPTX
Microsoft Azure News - November 2021
PDF
Best practices for azure governance
PPTX
Azure Backup Simplifies
PDF
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
PPTX
Microsoft Azure News - July 2021
PPTX
Certification in Microsoft Azure
PPTX
Architecting io t solutions with microisoft azure ignite tour version
PPTX
Introduction to Azure Event Grid
PDF
Cloud and Machine Learning in real world business
PPTX
2016, A new era of OS and Cloud Security
PDF
Adopting Multi-Cloud Services with Confidence
PPTX
Hybrid connectivity options with the microsoft cloud
PPTX
Azure Logic Apps
PPTX
Microsoft Azure News - 2018 June
PPTX
David Schneider: Sort your (child's) Legos with Cognitive Services
PDF
Connect(); 2016 한시간 총정리
Microsoft Azure News - Feb 2021
Serverless iPaaS in Azure (IDU)
Microsoft Azure News - August 2021
Azure Overview Arc
Microsoft Azure News - November 2021
Best practices for azure governance
Azure Backup Simplifies
Azure Days 2019: Trivadis Azure Foundation – Das Fundament für den ... (Nisan...
Microsoft Azure News - July 2021
Certification in Microsoft Azure
Architecting io t solutions with microisoft azure ignite tour version
Introduction to Azure Event Grid
Cloud and Machine Learning in real world business
2016, A new era of OS and Cloud Security
Adopting Multi-Cloud Services with Confidence
Hybrid connectivity options with the microsoft cloud
Azure Logic Apps
Microsoft Azure News - 2018 June
David Schneider: Sort your (child's) Legos with Cognitive Services
Connect(); 2016 한시간 총정리
Ad

Similar to GIB2020 - Building Event-Driven Integration Architectures (20)

PDF
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
PDF
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
PDF
Introducing power bi in your company - andrea martorana tusa
PPTX
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
PDF
Sukumar Nayak-Agile-DevOps-Cloud Management
PDF
Running Data Platforms Like Products
PDF
Microsoft Azure Stack
PDF
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
PDF
Set Your Data In Motion - CTO Roundtable
PPTX
Jumpstart Azure
PPTX
Cloud Customer Architecture for Big Data and Analytics V2.0
PDF
Secrets of Successful Cloud Foundry Adopters
PDF
30 March 2017 - Vuzion Ireland Love Cloud
PDF
Introduction to Apache NiFi 1.11.4
PDF
Supercharge your data analytics with BigQuery
PPTX
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
PDF
Microservices Patterns with GoldenGate
PPTX
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
PPSX
Microservices Docker Kubernetes Istio Kanban DevOps SRE
PPTX
Microsoft Azure News - Aug 2016
OSA Con 2022 - Building a Real-time Analytics Application with Apache Pulsar ...
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Introducing power bi in your company - andrea martorana tusa
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
Sukumar Nayak-Agile-DevOps-Cloud Management
Running Data Platforms Like Products
Microsoft Azure Stack
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Set Your Data In Motion - CTO Roundtable
Jumpstart Azure
Cloud Customer Architecture for Big Data and Analytics V2.0
Secrets of Successful Cloud Foundry Adopters
30 March 2017 - Vuzion Ireland Love Cloud
Introduction to Apache NiFi 1.11.4
Supercharge your data analytics with BigQuery
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Microservices Patterns with GoldenGate
Data to Insight in a Flash: Introduction to Real-Time Analytics with WSO2 Com...
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microsoft Azure News - Aug 2016
Ad

More from Daniel Toomey (20)

PPTX
Microsoft Azure News - May 2025 - BAUG _
PPTX
Microsoft Azure News - February 2025 - BAUG
PPTX
Microsoft Azure News - January 2025 - BAUG
PPTX
Microsoft Azure News - December 2024 - BAUG
PPTX
Microsoft Azure News - November 2024 - BAUG
PPTX
Microsoft Azure News - October 2024 - BAUG
PPTX
Microsoft Azure News - September 2024 - BAUG
PPTX
Updates from the INTEGRATE 2024 Conference
PPTX
Microsoft Azure News - August 2024 - BAUG
PPTX
Microsoft Azure News - July 2024 -- BAUG
PPTX
Azure Logic Apps & AI - Building Integration & AI Solutions
PPTX
Microsoft Azure News - May 2024 - BAUG'24
PPTX
Azure Logic Apps and Copilot.pptx .
PPTX
Microsoft Azure News - April 2024 .
PPTX
Microsoft Azure News - Feb 2024
PPTX
Microsoft Azure News - Dec 2023
PPTX
Microsoft Azure News - Nov 2023
PPTX
Microsoft AzureNews - Oct 2023
PPTX
Microsoft Azure New - Sep 2023
PPTX
Microsoft Azure News - Aug 2023
Microsoft Azure News - May 2025 - BAUG _
Microsoft Azure News - February 2025 - BAUG
Microsoft Azure News - January 2025 - BAUG
Microsoft Azure News - December 2024 - BAUG
Microsoft Azure News - November 2024 - BAUG
Microsoft Azure News - October 2024 - BAUG
Microsoft Azure News - September 2024 - BAUG
Updates from the INTEGRATE 2024 Conference
Microsoft Azure News - August 2024 - BAUG
Microsoft Azure News - July 2024 -- BAUG
Azure Logic Apps & AI - Building Integration & AI Solutions
Microsoft Azure News - May 2024 - BAUG'24
Azure Logic Apps and Copilot.pptx .
Microsoft Azure News - April 2024 .
Microsoft Azure News - Feb 2024
Microsoft Azure News - Dec 2023
Microsoft Azure News - Nov 2023
Microsoft AzureNews - Oct 2023
Microsoft Azure New - Sep 2023
Microsoft Azure News - Aug 2023

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Spectroscopy.pptx food analysis technology
PPT
Teaching material agriculture food technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectroscopy.pptx food analysis technology
Teaching material agriculture food technology
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)
Review of recent advances in non-invasive hemoglobin estimation
Digital-Transformation-Roadmap-for-Companies.pptx
MYSQL Presentation for SQL database connectivity
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Advanced methodologies resolving dimensionality complications for autism neur...
MIND Revenue Release Quarter 2 2025 Press Release
Diabetes mellitus diagnosis method based random forest with bat algorithm
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology

GIB2020 - Building Event-Driven Integration Architectures

Editor's Notes

  • #5: No need for context or relationship to other events to be significant; ex: file created
  • #6: Meaning is derived from a group of recorded metrics Think of a chart with a time-based X axis
  • #7: “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.”
  • #8: 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.”
  • #9: APIs are abundant, data is ubiquitous. Think about all the notifications Copernican shift – how to maintain data consistency between all those APIs?
  • #18: Three different types of service interaction.
  • #26: Simplicity - Point and click to aim events from your Azure resource to any event handler or endpoint. Advanced filtering - Filter on event type or event publish path to make sure event handlers only receive relevant events. Fan-out - Subscribe several endpoints to the same event to send copies of the event to as many places as needed. Reliability - 24-hour retry with exponential backoff to make sure events are delivered. Pay-per-event - Pay only for the amount you use Event Grid. High throughput - Build high-volume workloads on Event Grid with support for millions of events per second. 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.
  • #27: 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.
  • #28: Tord Glad Nordahl : “With dynamic scale and consistent performance Azure Event grid lets you focus on your app logic rather than the infrastructure around it."
  • #32: Publishing: Key authentication is easiest (just pass a key) SAS (recommended) includes resource, expiry and a signature RBAC for subscription & Mgmt access Webhooks: At the time of event subscription creation/update, Event Grid posts a "SubscriptionValidationEvent" event to the target endpoint. The event contains a header value "Aeg-Event-Type: SubscriptionValidation". The event body has the same schema as other Event Grid events. The event data includes a "validationCode" property with a randomly generated string. For example, "validationCode: acb13…". Only HTTPS is supported
  • #34: Contoso Construction Machinery - manufacture tractors, digging equipment, and other heavy machinery. push real-time information to customers regarding equipment maintenance, systems health, and contract updates All of this goes to various endpoints including your app, customer endpoints, and other infrastructure customers had setup. Event Domains allows you to model Contoso Construction Machinery as a single eventing entity. Each of your customers is represented as a Topic within the Domain, handling authentication and authorization using Azure AD Each of your customers can subscribe to their Topic and get the events delivered to them, but AAD and the Event Domain block them from accessing another tenant’s Topic. Provides a single endpoint which you can publish all of your customer events to, and Event Grid will take care of making sure each Topic is only aware of events scoped to its tenant.
  • #35: 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
  • #41: Valeriia Savenko – next Wednesday!