Last August, the Microsoft Azure team announced the launch of a new product on its platform: Event Grid. This is a service that enables the creation of applications that respond not only to application events but also to platform events.
The appeal of Azure Event Grid is that it makes it possible to respond to these events without worrying about the infrastructure, which means you can really focus on creating value in a serverless world.
Event Grid is the first Azure product that enables you to perform event routing. It allows subscribers to receive events from multiple sources and, conversely, for an event to be distributed to multiple subscribed sources. Here’s how Microsoft illustrates Event Grid:
The main scenarios for Event Grid are related to automation and administration, but a host of other scenarios are available by means of custom topics.
At present, the platform supports receiving events from Resource Group, Azure Subscription and Event Hub along with more customized topics. Microsoft has committed to making events from Azure Active Directory, Logic Apps, Service, Cosmos DB and many others available in the coming weeks and months too.
To begin with, Event Grid subscriptions are limited (Functions, Logic Apps, Webhook), but as with publications, the plan is for them to become numerous over time. In the near future, Azure’s roadmap calls for the addition of subscription via Service Bus, Event Hubs, Storage Queue and Azure Data Factory.
A couple of examples among many that we could mention are the application of policies relating to virtual machine use or the addition of metadata to resources so that they can be identified more easily.
Given the serverless architecture, pricing is based on a pay-as-you-go model. During the preview period, the first 100,000 operations are free. After that, you pay $0.30 per million operations.
The differenciating factor
Event Grid is similar to a distributed Service Bus, except for a few details. The key difference is its integration with Azure products.
Another attractive point is that it offers multiple methods of communication, including Service Bus and HTTP, for both internal and external services. That brings me to my next point.
Not limited to Azure
An interesting feature of Event Grid is that its publication/subscription-based functions are not limited to usage within Azure. It’s also possible to publish to an external HTTP service using a webhook. For now, Azure only allows you to create HTTP service subscriptions, but it is expected that other methods will be added.
The future of Azure looks bright. With this new product, future scenarios should become much simpler. Here are some interesting possibilities that could eventually become realities:
- Automatically assigning a role to a user added to Azure AD
- Automatically downloading Application Insight events for subsequent processing in Power BI or another analysis tool
- Notifying external partners about changes to data in an application (e.g., product pricing change)
- Managing resources created within an Azure subscription based on company policies
Azure Event Grid seems very promising in terms of both its architecture and pricing model. It’s clear that this product will transform both the architecture of reactive applications and how they are administered.