Event Grid is a highly scalable, serverless event broker that you can use to integrate applications using events. Events are delivered by Event Grid to subscriber destinations such as applications, Azure services, or any endpoint to which Event Grid has network access. The source of those events can be other applications, SaaS services and Azure services.
With Event Grid, you connect solutions using event-driven architectures. An event-driven architecture uses events to communicate occurrences in system state changes, for example, to other applications or services. You can use filters to route specific events to different endpoints, multicast to multiple endpoints, and make sure your events are reliably delivered.
Azure Event Grid is deployed to maximize availability by natively spreading across multiple fault domains in every region and across availability zones (in regions that support them)
The event sources and event handlers or destinations are summarized in the following diagram.
Note
This image shows how Event Grid connects sources and handlers, but it lacks a comprehensive list of supported integrations. For a list of all supported event sources, see the following section.
Event sources
Event Grid supports the following event sources:
1. Your service or solution that publishes events to Event Grid so your customers can subscribe to them. Event Grid provides two types of resources you can use depending on your requirements.
o Custom Topics or "Topics" for short. Use custom topics if your requirements resemble the following user story:
"As an owner of a system, I want to communicate my system's state changes by publishing events and routing those events to event handlers, under my control or otherwise, that can process my system's events in a way they see fit."
o Domains. Use domains if you want to deliver events to multiple teams at scale. Your requirements probably are similar to the following ones:
"As an owner of a system, I want to announce my system’s state changes to multiple teams in a single tenant so that they can process my system’s events in a way they see fit."
2. A SaaS provider or platform can publish their events to Event Grid through a feature called Partner Events. You can subscribe to those events and automate tasks, for example. Events from the following partners are currently available:
o Auth0
o Microsoft Graph API. Through Microsoft Graph API, you can get events from Microsoft Outlook, Teams, Azure AD, SharePoint, Conversations, security alerts, and Universal Print.
3. An Azure service. The following Azure services support sending events to Event Grid. For more information about a source in the list, select the link.
Event handlers
For full details on the capabilities of each handler and related articles, see event handlers. Currently, the following Azure services support handling events from Event Grid:
Webhooks. Azure Automation runbooks and Logic Apps are supported via webhooks.
Concepts
There are five concepts in Azure Event Grid that let you get going:
Events - What happened?
Event sources - Where did the event take place?
Topics - What is the endpoint where publishers send events?
Event subscriptions - The endpoint or built-in mechanism to route events, sometimes to more than one handler. Handlers also use subscriptions to intelligently filter incoming events.
Event handlers - The app or service reacting to the event.
Capabilities
Here are some of the key features of Azure Event Grid:
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.
Built-in Events - Get up and running quickly with resource-defined built-in events.
Custom Events - Use Event Grid to route, filter, and reliably deliver custom events in your app.
What can I do with Event Grid?
Azure Event Grid provides several features that vastly improve serverless, ops automation, and integration work:
Azure Event Hub
Azure Event Hubs is a powerful, real-time event ingestion service in Azure. It excels at capturing and processing high volumes of data streams – millions of events per second – originating from connected devices and applications. Designed for high throughput, low latency, and efficient data transfer, Event Hubs plays a crucial role in building scalable and responsive event-driven architectures.
Key features
High Throughput
Handles massive volumes of event data streams, scaling to millions of events per second. This capability makes it ideal for ingesting data from numerous sources, including sensor data from IoT devices, application logs, and website clickstreams.
Low latency
Ensures minimal delays in event processing, enabling near real-time data pipelines. This is critical for applications that require quick reactions to events, such as fraud detection or real-time stock price updates.
Batching
Optimizes data transfer and storage by grouping smaller events into larger batches. This reduces network overhead and improves overall efficiency, especially when dealing with high volumes of events.
Stream processing
Integrates seamlessly with popular stream processing technologies like Azure Stream Analytics and Apache Spark. This allows for real-time analysis and transformation of event data as it arrives, enabling immediate insights and actions.
Event capture
Captures and persists event data to Azure Storage or Blob Storage for long-term retention and analysis. This archived data can be invaluable for historical analysis, forensic investigations, and compliance purposes.
Common use cases for Azure Event Hubs
IoT device telemetry
Collects and processes real-time data from a vast network of IoT devices, enabling remote monitoring, device management, and predictive maintenance.
Application logs and metrics
Centralizes logs and metrics from distributed applications for real-time monitoring, troubleshooting, and performance optimization.
Clickstream data
Captures user interactions on websites and mobile apps to gain valuable insights into user behavior, improve customer experience, and personalize content.
Financial market data
Processes high-frequency financial data feeds in real-time for algorithmic trading, risk analysis, and fraud detection.
Azure Event Grid vs. Azure Event Hub
While both Azure Event Grid and Azure Event Hubs are event-driven services on Azure, they cater to distinct functionalities within event-driven architectures:
Feature | Azure Event Grid | Azure Event Hub |
Purpose | Event routing and delivery | High-throughput event ingestion |
Data type | Discrete events (e.g., resource creation, file upload) | A continuous stream of events |
Delivery model | Push (event-driven) | Pull (consumer-driven) |
Scalability | Highly scalable for millions of events | Extremely high throughput for billions of events |
Use cases | Integration, serverless functions, IoT alerts | IoT telemetry, application logs, clickstream data |
Choosing the right service:
Azure Event Grid
When you need to react to specific, noteworthy events and trigger subsequent actions in response, this could involve sending notifications, invoking serverless functions, or initiating workflows.
Azure Event Hub
When your primary focus is on capturing and processing massive volumes of event data in real time, this applies to scenarios like ingesting IoT sensor data, application logs, or website clickstreams for further analysis or storage.
Pricing
Both Azure Event Grid and Azure Event Hub employ a consumption-based pricing model. The exact cost depends on several factors:
Azure Event Grid
Number of events published
Number of event handlers invoked
Data ingestion and delivery volume
Azure Event Hub
Ingested data volume
Data retention period
Throughput units consumed
Event Hub capture to storage costs
Comments