Its Day 66 of my 100 Days of Cloud Journey, and today I’m looking at Azure Event Grid, which I came across during my Az-204 studies.
Azure Event Grid is a serverless offering that allows you to easily build applications with event-based architectures. First, select the Azure resource you would like to subscribe to, and then give the event handler or WebHook endpoint to send the event to.
Azure Event Grid uses the following concepts which you will need to understand:
- Events: An event is the smallest amount of information that fully describes something that happened in the system. Every event has common information like: source of the event, time the event took place, and unique identifier. An example of common events would be a file being uploaded, a Virtual Machine deleted, a SKU being added etc.
- Publishers: A publisher is the user or organization that decides to send events to Event Grid.
- Event Sources: An event source is where the event happens. Each event source is related to one or more event types. For example, Azure Storage is the event source for blob created events. The following Azure services support sending events to Event Grid:
- Azure API Management
- Azure App Configuration
- Azure App Service
- Azure Blob Storage
- Azure Cache for Redis
- Azure Communication Services
- Azure Container Registry
- Azure Event Hubs
- Azure FarmBeats
- Azure IoT Hub
- Azure Key Vault
- Azure Kubernetes Service (preview)
- Azure Machine Learning
- Azure Maps
- Azure Media Services
- Azure Policy
- Azure resource groups
- Azure Service Bus
- Azure SignalR
- Azure subscriptions
- Topics: The event grid topic provides an endpoint where the source sends events. A topic is used for a collection of related events.
- Event Subscriptions:A subscription tells Event Grid which events on a topic you’re interested in receiving. When creating the subscription, you provide an endpoint for handling the event.
- Event Handlers: From an Event Grid perspective, an event handler is the place where the event is sent. The handler takes some further action to process the event. The supported event handlers are:
- Webhooks. Azure Automation runbooks and Logic Apps are supported via webhooks.
- Azure functions
- Event hubs
- Service Bus queues and topics
- Relay hybrid connections
- Storage queues
The key features of Azure Event Grid are:
- Simplicity – You can direct events from any of the sources listed above to any event handler or endpoint.
- Advanced filtering – Filter on event type to ensure 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 ensures that events are delivered.
- Pay-per-event – Azure Event Grid uses a pay-per-event pricing model, so you only pay for what you use. The first 100,000 operations per month are free.
- High throughput – Build high-volume workloads on Event Grid and scale up/down or in/out as required.
- 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.
Azure Event Grid provides several features that vastly improve serverless, ops automation, and integration work:
- Serverless application architectures
Event Grid connects data sources and event handlers. For example, use Event Grid to trigger a serverless function that analyzes images when added to a blob storage container.
- Ops Automation
Event Grid allows you to speed automation and simplify policy enforcement. For example, use Event Grid to notify Azure Automation when a virtual machine or database in Azure SQL is created. Use the events to automatically check that service configurations are compliant, put metadata into operations tools, tag virtual machines, or file work items.
- Application integration
Event Grid connects your app with other services. For example, create a custom topic to send your app’s event data to Event Grid, and take advantage of its reliable delivery, advanced routing, and direct integration with Azure. Or, you can use Event Grid with Logic Apps to process data anywhere, without writing code.
You can learn more about Event Grid in the Microsoft documentation here. Hope you enjoyed this post, until next time!