getting started with azure event grid - webinar with steef-jan wiggers
TRANSCRIPT
Getting started with
Azure Event GridPower your event-driven and serverless apps
Steef-Jan Wiggers
Azure Consultant and MVP
@SteefJan
The Azure messaging landscape
Event Hubs
Telemetry
stream
ingestion
Service Bus &
Azure Queues
Cloud
messaging
Event Grid
Event
distribution
Logic Apps
Workflow
and LOB
Integration
IoT Hub
IoT messaging
and manage-
ment
Notification
Hubs
Mobile push
notifications
Relay
Discovery,
Firewall/NAT
Traversal
The Azure messaging landscape
Intents Facts
Messaging
Expectations
Conversations
Contracts
Control Transfer
Value Transfer
History
Context
Order
Schema
Eventing
Discrete SeriesIndependent
Report State Change
Actionable
Time Ordered
Context Partitioned
Analyzable
Report Condition
Events
© ClemensV
Concepts
1. Events: what happened
2. Event Publishers: where it took place
3. Topics: where publishers send events
4. Event Subscriptions: how you receive events
5. Event Handlers: the app or service reacting to the event
Event Grid guiding principles
➔ Always available
➔ Near real-time event delivery
➔ At least once delivery
➔ Dynamic scale
➔ Platform agnostic (Web Hook)
➔ Language agnostic (HTTP protocol)
Subscriptions & filtering
➔ Filtering on
➔ Event type (all vs specific event type)
➔ Prefix / suffix (on subject)
Web hooks
➔ Special security case: echo back initial validation Code
➔ As prevention of DDOS
➔ Aeg-Event-Type: Subscription Validation (header)
➔ FYI : RequestBin is ‘special cased’ and white listed
➔ Limited possibilities to secure your web hook
➔ No header support
➔ No OAuth…
➔ Only possibility : query string
Validation echo[{"id": "2d1781af-3a4c-4d7c-bd0c-e34b19da4e66","topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","subject": "","data": {"validationCode": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"
},"eventType": "Microsoft.EventGrid.SubscriptionValidationEvent","eventTime": "2017-08-06T22:09:30.740323Z"
}]
{"validationResponse": "512d38b6-c7b8-40c8-89fe-f46f9e9622b6"
}
Target performance
➔ Sub-second end-to-end latency in the 99th percentile
➔ 99.99% availability
➔ 10,000,000 events per second per region
➔ 100,000,000 subscriptions per region
➔ 50 ms publisher latency
➔ Transparent regional failover
➔ 24 hour retry with exponential back off for events not delivered
➔ 10 minutes – 30 minutes – 1 hour
Serverless applications architectures
➔ Event driven business logic
➔ Examples
➔ Image processing upon upload
➔ Text sentiment analysis upon upload
➔ Notification upon IoT device disconnect (not yet available)
Operations automation
➔ DevOps workflow
➔ Examples
➔ Policy enforcement (firewall checks, auto-scale…)
➔ Administration notification
➔ Inventory system
➔ Billing verification
Application Integration
➔ Connectivity & integration
➔ Examples
➔ Data transformation
➔ Automatic synchronization of data
➔ Logic Apps for workflow automation
DEMO Scenario
Submit
Receipt
Store
Event Event Computer Vision APIOCRFunction
Azure Blob Storage
Event Grid
Processing
Service Bus Queue
Microsoft Flow
Summary
➔ Service is still in preview➔ More subscribers and handlers are coming
➔ Management
➔ Security
➔ Easy to understand➔ Position in Azure messaging landscape
➔ Concepts (Push-push model)
➔ Unique in its kind➔ No competing service on other cloud provider platforms
Resources
➔ Codit Blog : Exploring Event Grid
➔ Microsoft Blog : Introducing Event Grid
➔ Community Blog (MVP):
➔ Eldert Grootenboer
➔ Steef-Jan Wiggers
➔ Daniel Toomey
➔ Dan Milner (Phidiax)