SlideShare a Scribd company logo
1 of 45
Download to read offline
Reactive Systems with
Event Grid
RICCARDO ZAMANA
Thanks to
AGENDA
• Telemathics WTF – why not serverless
• Back to school - About EG
• Possible «REAL» EG use case
• EG and The perfect architecture
Telemathics WTF – Why not serverless?
True or not? «I Govern My VMs so I’ll never change»
Telemathics WTF – why not serverless
You Don’t know how WHO is that really? You’re scared about lose control….. It hurts …..
HOW ABOUT TO «GOVERN» WITH SERVERLESS?
What is serverless?
What are the benefits?
Azure Serverless ecosystem
Azure Serverless Ecosystem
“EG” Completes the vision, giving serverless
dynamic messaging capability
• Azure Functions – Serverless compute
• Logic Apps – Serverless connectivity and workflows
• Service Bus – Serverless messaging
• Event Grid – Serverless Events
1. Why should I use Serverless?
2. When Should I consider the Serverless way?
3. Can I mix serverless with Traditional?
Thre questions about YOUR maturity
Back to school – about EG
What is Event grid?
Backbone of event-driven computing
• Cloud service that provides Infrastructure
for Event driven computing
• EG focus on events that say «Something is
happened»
• It enables NRT delivery ( x < 1sec) at scale
(> 1000ev/sec)
• Based on Publish Subscribe pattern
• Language Agnostic
• DEFINITION of INTERNET BACKBONE: An Internet backbone refers to one
of the principal data routes between large, strategically interconnected
networks and core routers on the Internet.
• DEFINITION OF EG BACKBONE: An EventGrid backbone refers to one of
the principal data routes between large, strategically interconnected
FLOWS and core routers on the Grid.
• How I can program within a backbone?
WTF? Is it a Backbone?
GBB in FLOWCHARTING
What is the GOAL of Event Grid?
1. Handling Webhooks events
What is the GOAL of Event Grid?
2. Managing Events in one place
• DECOUPLING: The producer is not aware of the no. of consumers.
• EFFICIENCY FLOW: Multiple streams can be filtered and sent to the
consumers that are registered for that specific data stream.
• IMPROVED CAPABILITIES: Temporary consumers; Batch support;
managed delivery
Differences with the past
WHY NOT AN ESB?
• Event grid supports Push model
• Never ask or Poll
• No costs due to poll overheading
• Native integrations
• Enables fan out
• Reliable delivery (24H retry policy)
• DLQ support
• Event grid support RBAC based Event Domain security
• «Wild» subscription is under control
• Security via AAD is totally supported
• Event grid is REALLY Production ready
• Recovery point objective (RPO): Metadata=0m, Data=5m
• Recovery time objective (RTO): Metadata=60m, Data=60m
Why Event grid?
• How many time have we searched for a Fanout Component?
• … What do you mean with SECURE FANOUT?
• …. And WHAT ABOUT REDELIVERY? And DLQ?
The Fanout dream
The problem
about
Function
FANOUT?
1.Deployment
necessary
2. Recovery
partial failures
The problem
about
EVENTHUB
FANOUT?
1.Filtering
2.$$
Storage blob Event Grid Logic App/FlowImage
Cognitive Services
Function
Outlook email
Notification
Analysis
WebHook
Test
Request Bin
Computer Vision API
Function
Cognitive Services
Analysis
Face API
Event grid features
• HTTP response code to Ackowledge receipt of events
• Exponential back off retry (es: 10s, 30s, ecc)
• Retry duration expires after 24hr
• Configuarable DLQ destination
Think ONLY about detailed
logic patterns in order to
guarantee delivery
My world without EG
• 1 WEBJOB CONSUMER => 1 QUEUE
• 1 QUEUE +Recovery Job
• 1QUEUE = DLQ
• 1 retryJob
• 1 storage Container with faults
• 1 AI exception per fault
You see only 2 job … but there were tons on them
How to use it
Two usage types:
ENVIRONMENT EVENTS/REACTIONS
1. Azure services can send events to EG natively
2. Azure service can react to EG events natively
ACTIVE/REACTIVE ENDPOINTS
1. EG support WebHook forwarding
2. EG expose Web API to inject data into Event ecosystem
Concepts
• Event : what happened
• Event Publisher : where it took place
• Topic: where publishers send events
• Event Subscriptions: routes & filters events
• Filters: EventTypes, SubjectBeginsWith, SubjectEndsWith
• Event Handlers: app or service reacting to the event
Manage all events in one place
Identity and Authentication
• Azure Active Directory
• Identity fabric of Azure Resources and Microsoft Graph Entities
• Managed identity authentication
• Service principal authentication
• User-based authentication
• Non-Azure AD
• API Keys
• Anonymous
• Event are sent to Azure Event Grid in an array (!!!!), which can contain
multiple event objects
• The array can have a total size of up to 1 MB. Each event in the array is
limited to 64Kb
Events in EG
Which is the schema?
EventGridSchema?
or Cloud Events 1.0 ??
Azure Resource Event Sample
{
"topic": "/subscriptions/{id}/resourcegroups/{rg}",
"subject": "/subscriptions/{id}/resourcegroups/{rg}/providers/Microsoft.Web/connections/azureblob",
"eventType": "Microsoft.Resources.ResourceWriteSuccess",
"eventTime": "2017-09-20T01:46:53.2684149Z",
"id": "9ac0de1a-3cdc-488b-aeb5-087beacb53dc",
"data": {
"authorization": "{"scope-action-evidence-":""}}",
"claims": "{"claim-details-author":""}",
"correlationId": "9ac0de1a-90cf-4670-ae9f-fccafff7a630",
"httpRequest": "",
"resourceProvider": "Microsoft.Web",
"resourceUri": "/subscriptions/{id}/resourcegroups/{rg}/providers/Microsoft.Web/connections/azureblob",
"operationName": "Microsoft.Web/connections/write",
"status": "Succeeded",
"subscriptionId": "{id},
"tenantId": "9ac0de1a-872d-48cd-84d2-c427b4d640bc"
}
}
Blob Event Sample
[
{
"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"
}
}
}
]
Custom Event Sample
{
"topic": "/subscriptions/{id}/resourcegroups/{rg}/providers/microsoft.eventgrid/topics/{topic}",
"id": " 9ac0de1a-83f2-4eb7-ab1f-e2e8d2ef1728",
"eventType": "CryptoCurrencyPriceObtained",
"subject": "cryptoCurrency/price/BTC",
"eventTime": "2017-09-19T11:37:01.1513463+00:00",
"data": {
"AUD": 4991.89
}
}
custom
data
Tools
Reference: https://madeofstrings.com/2018/03/14/azure-event-grid-viewer-with-asp-net-core-and-signalr/
There is only one MUST in Reactive Systems
CONTROL
Benefits of EG VIEWER:
• experience of a real-time feed
• payload available for inspection
Event grid viewer act as a Event Subscriber, using this url:
https://{{site-name}}.azurewebsites.net/api/updates
Event Grid Filtering
 Advanced Filters
 String
 In/Not in
 Beings with/Ends with
 Contains
 Numerical
 In/Not In
 Greater than/Less than
 Greater than or equal/Less than or equal
 Boolean
String usage:
- PRIORITY|value|FLOWID
- CORR-ID|value|ASPECT
Number:
- CLUSTERING
- POSITIONBASED (1001,2001,3001)
Boolean:
….. True or false? :D
USE THEM, WITH «SALT IN THE HEAD»
Limits & Tricks
Resource Limit
Topics per event domain 100,000
Event subscriptions per topic within a domain 500
Domain scope event subscriptions 50
Publish rate for an event domain (ingress) 5,000 events per second
Publish requests 250 per second
Event Domains per Azure Subscription 100
Resource Limit
Custom topics per Azure subscription 100
Event subscriptions per topic 500
Publish rate for a custom topic (ingress) 5,000 events per second per topic
Publish requests 250 per second
Event size Support for 64 KB in General Availability (GA). Support for 1 MB is currently in preview.
Event grid
Event grid with Event domains
• More complete Event viewer
• A standard Json2EventHub2TSI to view timeseries
• A standard Json2SQL2PowerBI in order to view «Facts»
• A standard script to deploy subscription + functions + data into
Management DBs
Do you need more? yes
Scenarios
The Simple Demo
Typical Italian situation…
1. Il commerciale ha venduto una cosa
1. Di cui non aveva idea, ha detto si per prendere il cliente. E ora tocca a noi sbrogliare la matassa
2. Senza rendersi conto dei costi cloud che porterà, e non li ha messi in conto al cliente. Ora
fioccheranno le VM e «ciao ciao cloud FICO»
3. Che pensava che avessimo già fatto, ma non è proprio la stessa cosa, inutile spiegargliela perché
non capirebbe.
2. Il dev a Novembre spesso dice … AAAH VORREI AVERE IL TEMPO PER ….. e dopo a Luglio….. «SI MA CHI SI
METTE ADESSO A ROMPERE TUTTO? … ORMAI STA IN PIEDI COSI’ e amen. ..BIRRETTA?»
From «ITALIANSSS»
Apologize for ITALIAN LANGUAGE.. But it was better this way :D
The Less Simple Demo
This is the unique
swiss knife if you
have a problem
called
COMMERCIAL
CREATIVITY
Don’t worry. July will be the «PHI Variable» month, with no regrets about architecture design.
My example about Iterative Maturity
EG
COMMAND
QUEUE
REAL
EXECUTOR
EXECUTION
REGISTRY
PENDING
CONTENT
EG
OPERATION
DOSSIER
Cambio fase
Op.
completata
Pulirà il DB Execution registry
Pulirà il Pending content CACHE
ALERT MONITOR
FEEDER
Op. Iniziata
DLQ
monitorata
• Which is the MVP?
• What are the necessary improvements?
• What are the common parts?
• Are the personalization decoupled?
• Redis Edge: K,v [status], Sorted set [TimeSeries]
• Functions: everything
• Stream Analytics Edge: Circular buffer
• Storage Edge: cold data daily preparation place
• SQL Edge: matched events
• NOW there is the BACKBONE !!!!!!!!
• Capture events (es: stoppages, run, product.change)
• Capture PLC alarms
• Capture maintenance operational modes
• When Shift change, change local Registry for a better Edge enrichment
Event grid and & Iot Edge
Event Grid & IoT Edge
Nome: eventgridmodule
URI immagine: mcr.microsoft.com/azure-event-grid/iotedge:latest
Binding: 4438
How to create EG-EDGE
Nome: Sottoscrittore
URI immagine: mcr.microsoft.com/azure-event-grid/iotedge-samplesubscriber-azfunc:latest
Binding: 8080
How to communicate with EG-EDGE
curl -k -H "Content-Type: application/json" -X PUT -g -d @topic.json https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1?api-version=2019-01-01-preview
How to create a topic
{ "name": "sampleTopic1", "properties": { "inputschema": "eventGridSchema" } }
And how to check it:
curl -k -H "Content-Type: application/json" -X GET -g https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1?api-version=2019-01-01-preview
curl -k -H "Content-Type: application/json" -X PUT -g -d @subscription.json https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1/eventSubscriptions/sampleSubscription1?api-version=2019-01-01-preview
How to create a subscription
And how to check it
curl -k -H "Content-Type: application/json" -X GET -g https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1/eventSubscriptions/sampleSubscription1?api-version=2019-01-01-preview
{ "properties": { "destination": { "endpointType": "WebHook", "properties": { "endpointUrl": "http://subscriber:80/api/subscriber" } } } }
curl -k -H "Content-Type: application/json" -X POST -g -d @event.json https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1/events?api-version=2019-01-01-preview
How to publish an event
And remember the Schema!!!!!
Pricing
EG fits with Everything. USE IT!
Storage blob Event Grid Logic App/FlowImage
Cognitive Services
Function
Outlook email
Notification
Analysis
WebHook
Test
Request Bin
Computer Vision API
Function
Cognitive Services
Analysis
Face API
Service
Fabric Event Grid
Azure
Function
Storage table
Office 365
logging
events
Filter:
error events
allevents
all
events
Logic
App
email
alert
Storage blob
Event Grid
storage
event
storage
event
Webhook
EG
COMMAND
QUEUE
REAL
EXECUTOR
EXECUTION
REGISTRY
PENDING
CONTENT
EG
OPERATION
DOSSIER
Cambio fase
Op.
completata
Pulirà il DB Execution registry
Pulirà il Pending content CACHE
ALERT MONITOR
FEEDER
Op. Iniziata
DLQ
monitorata
PLACE HOLDER FOR
YOUR
EXAMPLE
Thank You!!!
Thanks to
Reactive Systems with Event Grid

More Related Content

What's hot

CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event SourcingMike Bild
 
Serveless design patterns
Serveless design patternsServeless design patterns
Serveless design patternsYan Cui
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...Chris Richardson
 
20160317 lagom sf scala
20160317 lagom sf scala20160317 lagom sf scala
20160317 lagom sf scalashinolajla
 
Azure Messaging Crossroads
Azure Messaging CrossroadsAzure Messaging Crossroads
Azure Messaging CrossroadsSean Feldman
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDDennis Doomen
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Amazon Web Services
 
Microservices: a journey of an eternal improvement
Microservices: a journey of an eternal improvementMicroservices: a journey of an eternal improvement
Microservices: a journey of an eternal improvementAnton Udovychenko
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGokhan Boranalp
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your dataChristian Posta
 
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by IntelIoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by IntelAmazon Web Services
 
When IoT meets Serverless - from design to production and monitoring
When IoT meets Serverless - from design to production and monitoringWhen IoT meets Serverless - from design to production and monitoring
When IoT meets Serverless - from design to production and monitoringAlex Pshul
 
A serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoringA serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoringCodeValue
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...Chris Richardson
 
Manage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreManage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreMarco Parenzan
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerMichael Collier
 
AWS Step Functions - Dev lounge Express Edition.pdf
AWS Step Functions - Dev lounge Express Edition.pdfAWS Step Functions - Dev lounge Express Edition.pdf
AWS Step Functions - Dev lounge Express Edition.pdfAmazon Web Services
 
Effective Microservices Design using Events and Event Sourcing
Effective Microservices Design using Events and Event SourcingEffective Microservices Design using Events and Event Sourcing
Effective Microservices Design using Events and Event SourcingDavid Dawson
 

What's hot (20)

CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Serveless design patterns
Serveless design patternsServeless design patterns
Serveless design patterns
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...
 
20160317 lagom sf scala
20160317 lagom sf scala20160317 lagom sf scala
20160317 lagom sf scala
 
Azure Messaging Crossroads
Azure Messaging CrossroadsAzure Messaging Crossroads
Azure Messaging Crossroads
 
CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDD
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games
 
Microservices: a journey of an eternal improvement
Microservices: a journey of an eternal improvementMicroservices: a journey of an eternal improvement
Microservices: a journey of an eternal improvement
 
Google Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTEGoogle Cloud Platform Kubernetes Workshop IYTE
Google Cloud Platform Kubernetes Workshop IYTE
 
The hardest part of microservices: your data
The hardest part of microservices: your dataThe hardest part of microservices: your data
The hardest part of microservices: your data
 
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by IntelIoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
IoT Hack Day: AWS Pop-up Loft Hack Series Sponsored by Intel
 
When IoT meets Serverless - from design to production and monitoring
When IoT meets Serverless - from design to production and monitoringWhen IoT meets Serverless - from design to production and monitoring
When IoT meets Serverless - from design to production and monitoring
 
F8 tech talk_pinterest_v4
F8 tech talk_pinterest_v4F8 tech talk_pinterest_v4
F8 tech talk_pinterest_v4
 
A serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoringA serverless IoT story from design to production and monitoring
A serverless IoT story from design to production and monitoring
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
Manage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and moreManage your devices with Azure IoT...and more
Manage your devices with Azure IoT...and more
 
Windows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect PartnerWindows Azure Mobile Services - The Perfect Partner
Windows Azure Mobile Services - The Perfect Partner
 
AWS Step Functions - Dev lounge Express Edition.pdf
AWS Step Functions - Dev lounge Express Edition.pdfAWS Step Functions - Dev lounge Express Edition.pdf
AWS Step Functions - Dev lounge Express Edition.pdf
 
Effective Microservices Design using Events and Event Sourcing
Effective Microservices Design using Events and Event SourcingEffective Microservices Design using Events and Event Sourcing
Effective Microservices Design using Events and Event Sourcing
 

Similar to Reactive Systems with Event Grid

Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco Parenzan
 
Event Grid - quiet event to revolutionize Azure and more
Event Grid - quiet event to revolutionize Azure and moreEvent Grid - quiet event to revolutionize Azure and more
Event Grid - quiet event to revolutionize Azure and moreSean Feldman
 
Enforcing Your Security Policy at Scale - Technical 301
Enforcing Your Security Policy at Scale - Technical 301Enforcing Your Security Policy at Scale - Technical 301
Enforcing Your Security Policy at Scale - Technical 301Amazon Web Services
 
Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspectivebartlannoeye
 
Exploring the Azure IoT Ecosystem
Exploring the Azure IoT EcosystemExploring the Azure IoT Ecosystem
Exploring the Azure IoT EcosystemBizTalk360
 
GIB2020 - Building Event-Driven Integration Architectures
GIB2020 - Building Event-Driven Integration ArchitecturesGIB2020 - Building Event-Driven Integration Architectures
GIB2020 - Building Event-Driven Integration ArchitecturesDaniel Toomey
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCallon Campbell
 
Understanding event data
Understanding event dataUnderstanding event data
Understanding event datayalisassoon
 
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile ServicesMarco Parenzan
 
So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...
So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...
So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...AWS Germany
 
Event Driven Architectures - Net Conf UY 2018
Event Driven Architectures - Net Conf UY 2018Event Driven Architectures - Net Conf UY 2018
Event Driven Architectures - Net Conf UY 2018Bradley Irby
 
Building API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsBuilding API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsAleksandar Bozinovski
 
NVS_Sentinel
NVS_SentinelNVS_Sentinel
NVS_SentinelMike Mihm
 
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event GridGIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event GridHarris Kristanto
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
How we evolved data pipeline at Celtra and what we learned along the way
How we evolved data pipeline at Celtra and what we learned along the wayHow we evolved data pipeline at Celtra and what we learned along the way
How we evolved data pipeline at Celtra and what we learned along the wayGrega Kespret
 
Iot meets Serverless
Iot meets ServerlessIot meets Serverless
Iot meets ServerlessNarendran R
 
Building Event Driven Cloud Solutions with Microsoft Azure Event
Building Event Driven Cloud Solutions with Microsoft Azure EventBuilding Event Driven Cloud Solutions with Microsoft Azure Event
Building Event Driven Cloud Solutions with Microsoft Azure EventNikolai Blackie
 
Tokyo azure meetup #2 big data made easy
Tokyo azure meetup #2   big data made easyTokyo azure meetup #2   big data made easy
Tokyo azure meetup #2 big data made easyTokyo Azure Meetup
 

Similar to Reactive Systems with Event Grid (20)

Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Event Grid - quiet event to revolutionize Azure and more
Event Grid - quiet event to revolutionize Azure and moreEvent Grid - quiet event to revolutionize Azure and more
Event Grid - quiet event to revolutionize Azure and more
 
Enforcing Your Security Policy at Scale - Technical 301
Enforcing Your Security Policy at Scale - Technical 301Enforcing Your Security Policy at Scale - Technical 301
Enforcing Your Security Policy at Scale - Technical 301
 
Dev day serverless from a devs perspective
Dev day   serverless from a devs perspectiveDev day   serverless from a devs perspective
Dev day serverless from a devs perspective
 
Exploring the Azure IoT Ecosystem
Exploring the Azure IoT EcosystemExploring the Azure IoT Ecosystem
Exploring the Azure IoT Ecosystem
 
GIB2020 - Building Event-Driven Integration Architectures
GIB2020 - Building Event-Driven Integration ArchitecturesGIB2020 - Building Event-Driven Integration Architectures
GIB2020 - Building Event-Driven Integration Architectures
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event Grid
 
Understanding event data
Understanding event dataUnderstanding event data
Understanding event data
 
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
apidays LIVE Jakarta - Building an Event-Driven Architecture by Harin Honesty...
 
2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services2015.04.23 Azure Mobile Services
2015.04.23 Azure Mobile Services
 
So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...
So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...
So verarbeiten Sie AWS Sensordaten, um Anwendungen zu sichern - AWS Security ...
 
Event Driven Architectures - Net Conf UY 2018
Event Driven Architectures - Net Conf UY 2018Event Driven Architectures - Net Conf UY 2018
Event Driven Architectures - Net Conf UY 2018
 
Building API in the cloud using Azure Functions
Building API in the cloud using Azure FunctionsBuilding API in the cloud using Azure Functions
Building API in the cloud using Azure Functions
 
NVS_Sentinel
NVS_SentinelNVS_Sentinel
NVS_Sentinel
 
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event GridGIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
GIBC2018 - Building Event Driven Cloud Solutions with Microsoft Azure Event Grid
 
Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
How we evolved data pipeline at Celtra and what we learned along the way
How we evolved data pipeline at Celtra and what we learned along the wayHow we evolved data pipeline at Celtra and what we learned along the way
How we evolved data pipeline at Celtra and what we learned along the way
 
Iot meets Serverless
Iot meets ServerlessIot meets Serverless
Iot meets Serverless
 
Building Event Driven Cloud Solutions with Microsoft Azure Event
Building Event Driven Cloud Solutions with Microsoft Azure EventBuilding Event Driven Cloud Solutions with Microsoft Azure Event
Building Event Driven Cloud Solutions with Microsoft Azure Event
 
Tokyo azure meetup #2 big data made easy
Tokyo azure meetup #2   big data made easyTokyo azure meetup #2   big data made easy
Tokyo azure meetup #2 big data made easy
 

More from azuredayit

Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOpsAzure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOpsazuredayit
 
Azure Day Rome Reloaded 2019 - Building serverless microservices in azure
Azure Day Rome Reloaded 2019 - Building serverless microservices in azureAzure Day Rome Reloaded 2019 - Building serverless microservices in azure
Azure Day Rome Reloaded 2019 - Building serverless microservices in azureazuredayit
 
Azure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for Azure
Azure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for AzureAzure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for Azure
Azure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for Azureazuredayit
 
Azure Day Rome Reloaded 2019 - Azure: a cloud with a purpose
Azure Day Rome Reloaded 2019 - Azure: a cloud with a purposeAzure Day Rome Reloaded 2019 - Azure: a cloud with a purpose
Azure Day Rome Reloaded 2019 - Azure: a cloud with a purposeazuredayit
 
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...azuredayit
 
Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...
Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...
Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...azuredayit
 
Azure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights OverviewAzure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights Overviewazuredayit
 
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSAzure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSazuredayit
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...azuredayit
 
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...azuredayit
 
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...azuredayit
 
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...azuredayit
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...azuredayit
 
Azure Day Rome Reloaded 2019 - Azure Cognitive Search Deep Dive
Azure Day Rome Reloaded 2019 - Azure Cognitive Search Deep DiveAzure Day Rome Reloaded 2019 - Azure Cognitive Search Deep Dive
Azure Day Rome Reloaded 2019 - Azure Cognitive Search Deep Diveazuredayit
 

More from azuredayit (14)

Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOpsAzure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
Azure Day Rome Reloaded 2019 - ML.NET Model Lifecycle with Azure DevOps
 
Azure Day Rome Reloaded 2019 - Building serverless microservices in azure
Azure Day Rome Reloaded 2019 - Building serverless microservices in azureAzure Day Rome Reloaded 2019 - Building serverless microservices in azure
Azure Day Rome Reloaded 2019 - Building serverless microservices in azure
 
Azure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for Azure
Azure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for AzureAzure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for Azure
Azure Day Rome Reloaded 2019 - Cloud Journey – FastTrack for Azure
 
Azure Day Rome Reloaded 2019 - Azure: a cloud with a purpose
Azure Day Rome Reloaded 2019 - Azure: a cloud with a purposeAzure Day Rome Reloaded 2019 - Azure: a cloud with a purpose
Azure Day Rome Reloaded 2019 - Azure: a cloud with a purpose
 
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
Azure Day Rome Reloaded 2019 - Getting Started with Unity, AR/VR and Azure Co...
 
Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...
Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...
Azure Day Rome Reloaded 2019 - Azure Sentinel: set up automated threat respon...
 
Azure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights OverviewAzure Day Rome Reloaded 2019 - Azure Application Insights Overview
Azure Day Rome Reloaded 2019 - Azure Application Insights Overview
 
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSAzure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
 
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
Azure Day Rome 2019 Reloaded - Strangle(r pattern) your legacy application ru...
 
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
 
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
 
Azure Day Rome Reloaded 2019 - Azure Cognitive Search Deep Dive
Azure Day Rome Reloaded 2019 - Azure Cognitive Search Deep DiveAzure Day Rome Reloaded 2019 - Azure Cognitive Search Deep Dive
Azure Day Rome Reloaded 2019 - Azure Cognitive Search Deep Dive
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

Reactive Systems with Event Grid

  • 1. Reactive Systems with Event Grid RICCARDO ZAMANA
  • 3. AGENDA • Telemathics WTF – why not serverless • Back to school - About EG • Possible «REAL» EG use case • EG and The perfect architecture
  • 4. Telemathics WTF – Why not serverless?
  • 5. True or not? «I Govern My VMs so I’ll never change» Telemathics WTF – why not serverless You Don’t know how WHO is that really? You’re scared about lose control….. It hurts ….. HOW ABOUT TO «GOVERN» WITH SERVERLESS?
  • 7. What are the benefits?
  • 9. Azure Serverless Ecosystem “EG” Completes the vision, giving serverless dynamic messaging capability • Azure Functions – Serverless compute • Logic Apps – Serverless connectivity and workflows • Service Bus – Serverless messaging • Event Grid – Serverless Events
  • 10. 1. Why should I use Serverless? 2. When Should I consider the Serverless way? 3. Can I mix serverless with Traditional? Thre questions about YOUR maturity
  • 11. Back to school – about EG
  • 12. What is Event grid? Backbone of event-driven computing • Cloud service that provides Infrastructure for Event driven computing • EG focus on events that say «Something is happened» • It enables NRT delivery ( x < 1sec) at scale (> 1000ev/sec) • Based on Publish Subscribe pattern • Language Agnostic
  • 13. • DEFINITION of INTERNET BACKBONE: An Internet backbone refers to one of the principal data routes between large, strategically interconnected networks and core routers on the Internet. • DEFINITION OF EG BACKBONE: An EventGrid backbone refers to one of the principal data routes between large, strategically interconnected FLOWS and core routers on the Grid. • How I can program within a backbone? WTF? Is it a Backbone? GBB in FLOWCHARTING
  • 14. What is the GOAL of Event Grid? 1. Handling Webhooks events
  • 15. What is the GOAL of Event Grid? 2. Managing Events in one place
  • 16. • DECOUPLING: The producer is not aware of the no. of consumers. • EFFICIENCY FLOW: Multiple streams can be filtered and sent to the consumers that are registered for that specific data stream. • IMPROVED CAPABILITIES: Temporary consumers; Batch support; managed delivery Differences with the past WHY NOT AN ESB?
  • 17. • Event grid supports Push model • Never ask or Poll • No costs due to poll overheading • Native integrations • Enables fan out • Reliable delivery (24H retry policy) • DLQ support • Event grid support RBAC based Event Domain security • «Wild» subscription is under control • Security via AAD is totally supported • Event grid is REALLY Production ready • Recovery point objective (RPO): Metadata=0m, Data=5m • Recovery time objective (RTO): Metadata=60m, Data=60m Why Event grid?
  • 18. • How many time have we searched for a Fanout Component? • … What do you mean with SECURE FANOUT? • …. And WHAT ABOUT REDELIVERY? And DLQ? The Fanout dream The problem about Function FANOUT? 1.Deployment necessary 2. Recovery partial failures The problem about EVENTHUB FANOUT? 1.Filtering 2.$$ Storage blob Event Grid Logic App/FlowImage Cognitive Services Function Outlook email Notification Analysis WebHook Test Request Bin Computer Vision API Function Cognitive Services Analysis Face API
  • 19. Event grid features • HTTP response code to Ackowledge receipt of events • Exponential back off retry (es: 10s, 30s, ecc) • Retry duration expires after 24hr • Configuarable DLQ destination
  • 20. Think ONLY about detailed logic patterns in order to guarantee delivery My world without EG • 1 WEBJOB CONSUMER => 1 QUEUE • 1 QUEUE +Recovery Job • 1QUEUE = DLQ • 1 retryJob • 1 storage Container with faults • 1 AI exception per fault You see only 2 job … but there were tons on them
  • 21. How to use it Two usage types: ENVIRONMENT EVENTS/REACTIONS 1. Azure services can send events to EG natively 2. Azure service can react to EG events natively ACTIVE/REACTIVE ENDPOINTS 1. EG support WebHook forwarding 2. EG expose Web API to inject data into Event ecosystem
  • 22. Concepts • Event : what happened • Event Publisher : where it took place • Topic: where publishers send events • Event Subscriptions: routes & filters events • Filters: EventTypes, SubjectBeginsWith, SubjectEndsWith • Event Handlers: app or service reacting to the event
  • 23. Manage all events in one place
  • 24. Identity and Authentication • Azure Active Directory • Identity fabric of Azure Resources and Microsoft Graph Entities • Managed identity authentication • Service principal authentication • User-based authentication • Non-Azure AD • API Keys • Anonymous
  • 25. • Event are sent to Azure Event Grid in an array (!!!!), which can contain multiple event objects • The array can have a total size of up to 1 MB. Each event in the array is limited to 64Kb Events in EG Which is the schema? EventGridSchema? or Cloud Events 1.0 ??
  • 26. Azure Resource Event Sample { "topic": "/subscriptions/{id}/resourcegroups/{rg}", "subject": "/subscriptions/{id}/resourcegroups/{rg}/providers/Microsoft.Web/connections/azureblob", "eventType": "Microsoft.Resources.ResourceWriteSuccess", "eventTime": "2017-09-20T01:46:53.2684149Z", "id": "9ac0de1a-3cdc-488b-aeb5-087beacb53dc", "data": { "authorization": "{"scope-action-evidence-":""}}", "claims": "{"claim-details-author":""}", "correlationId": "9ac0de1a-90cf-4670-ae9f-fccafff7a630", "httpRequest": "", "resourceProvider": "Microsoft.Web", "resourceUri": "/subscriptions/{id}/resourcegroups/{rg}/providers/Microsoft.Web/connections/azureblob", "operationName": "Microsoft.Web/connections/write", "status": "Succeeded", "subscriptionId": "{id}, "tenantId": "9ac0de1a-872d-48cd-84d2-c427b4d640bc" } }
  • 27. Blob Event Sample [ { "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" } } } ]
  • 28. Custom Event Sample { "topic": "/subscriptions/{id}/resourcegroups/{rg}/providers/microsoft.eventgrid/topics/{topic}", "id": " 9ac0de1a-83f2-4eb7-ab1f-e2e8d2ef1728", "eventType": "CryptoCurrencyPriceObtained", "subject": "cryptoCurrency/price/BTC", "eventTime": "2017-09-19T11:37:01.1513463+00:00", "data": { "AUD": 4991.89 } } custom data
  • 29. Tools Reference: https://madeofstrings.com/2018/03/14/azure-event-grid-viewer-with-asp-net-core-and-signalr/ There is only one MUST in Reactive Systems CONTROL Benefits of EG VIEWER: • experience of a real-time feed • payload available for inspection Event grid viewer act as a Event Subscriber, using this url: https://{{site-name}}.azurewebsites.net/api/updates
  • 30. Event Grid Filtering  Advanced Filters  String  In/Not in  Beings with/Ends with  Contains  Numerical  In/Not In  Greater than/Less than  Greater than or equal/Less than or equal  Boolean String usage: - PRIORITY|value|FLOWID - CORR-ID|value|ASPECT Number: - CLUSTERING - POSITIONBASED (1001,2001,3001) Boolean: ….. True or false? :D USE THEM, WITH «SALT IN THE HEAD»
  • 31. Limits & Tricks Resource Limit Topics per event domain 100,000 Event subscriptions per topic within a domain 500 Domain scope event subscriptions 50 Publish rate for an event domain (ingress) 5,000 events per second Publish requests 250 per second Event Domains per Azure Subscription 100 Resource Limit Custom topics per Azure subscription 100 Event subscriptions per topic 500 Publish rate for a custom topic (ingress) 5,000 events per second per topic Publish requests 250 per second Event size Support for 64 KB in General Availability (GA). Support for 1 MB is currently in preview. Event grid Event grid with Event domains
  • 32. • More complete Event viewer • A standard Json2EventHub2TSI to view timeseries • A standard Json2SQL2PowerBI in order to view «Facts» • A standard script to deploy subscription + functions + data into Management DBs Do you need more? yes
  • 35. Typical Italian situation… 1. Il commerciale ha venduto una cosa 1. Di cui non aveva idea, ha detto si per prendere il cliente. E ora tocca a noi sbrogliare la matassa 2. Senza rendersi conto dei costi cloud che porterà, e non li ha messi in conto al cliente. Ora fioccheranno le VM e «ciao ciao cloud FICO» 3. Che pensava che avessimo già fatto, ma non è proprio la stessa cosa, inutile spiegargliela perché non capirebbe. 2. Il dev a Novembre spesso dice … AAAH VORREI AVERE IL TEMPO PER ….. e dopo a Luglio….. «SI MA CHI SI METTE ADESSO A ROMPERE TUTTO? … ORMAI STA IN PIEDI COSI’ e amen. ..BIRRETTA?» From «ITALIANSSS» Apologize for ITALIAN LANGUAGE.. But it was better this way :D
  • 36. The Less Simple Demo This is the unique swiss knife if you have a problem called COMMERCIAL CREATIVITY Don’t worry. July will be the «PHI Variable» month, with no regrets about architecture design.
  • 37. My example about Iterative Maturity EG COMMAND QUEUE REAL EXECUTOR EXECUTION REGISTRY PENDING CONTENT EG OPERATION DOSSIER Cambio fase Op. completata Pulirà il DB Execution registry Pulirà il Pending content CACHE ALERT MONITOR FEEDER Op. Iniziata DLQ monitorata • Which is the MVP? • What are the necessary improvements? • What are the common parts? • Are the personalization decoupled?
  • 38. • Redis Edge: K,v [status], Sorted set [TimeSeries] • Functions: everything • Stream Analytics Edge: Circular buffer • Storage Edge: cold data daily preparation place • SQL Edge: matched events • NOW there is the BACKBONE !!!!!!!! • Capture events (es: stoppages, run, product.change) • Capture PLC alarms • Capture maintenance operational modes • When Shift change, change local Registry for a better Edge enrichment Event grid and & Iot Edge
  • 39. Event Grid & IoT Edge Nome: eventgridmodule URI immagine: mcr.microsoft.com/azure-event-grid/iotedge:latest Binding: 4438 How to create EG-EDGE Nome: Sottoscrittore URI immagine: mcr.microsoft.com/azure-event-grid/iotedge-samplesubscriber-azfunc:latest Binding: 8080 How to communicate with EG-EDGE curl -k -H "Content-Type: application/json" -X PUT -g -d @topic.json https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1?api-version=2019-01-01-preview How to create a topic { "name": "sampleTopic1", "properties": { "inputschema": "eventGridSchema" } } And how to check it: curl -k -H "Content-Type: application/json" -X GET -g https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1?api-version=2019-01-01-preview curl -k -H "Content-Type: application/json" -X PUT -g -d @subscription.json https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1/eventSubscriptions/sampleSubscription1?api-version=2019-01-01-preview How to create a subscription And how to check it curl -k -H "Content-Type: application/json" -X GET -g https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1/eventSubscriptions/sampleSubscription1?api-version=2019-01-01-preview { "properties": { "destination": { "endpointType": "WebHook", "properties": { "endpointUrl": "http://subscriber:80/api/subscriber" } } } } curl -k -H "Content-Type: application/json" -X POST -g -d @event.json https://<your-edge-device-public-ip-here>:4438/topics/sampleTopic1/events?api-version=2019-01-01-preview How to publish an event And remember the Schema!!!!!
  • 41. EG fits with Everything. USE IT! Storage blob Event Grid Logic App/FlowImage Cognitive Services Function Outlook email Notification Analysis WebHook Test Request Bin Computer Vision API Function Cognitive Services Analysis Face API Service Fabric Event Grid Azure Function Storage table Office 365 logging events Filter: error events allevents all events Logic App email alert Storage blob Event Grid storage event storage event Webhook EG COMMAND QUEUE REAL EXECUTOR EXECUTION REGISTRY PENDING CONTENT EG OPERATION DOSSIER Cambio fase Op. completata Pulirà il DB Execution registry Pulirà il Pending content CACHE ALERT MONITOR FEEDER Op. Iniziata DLQ monitorata PLACE HOLDER FOR YOUR EXAMPLE
  • 42.