Microsoft introduced Event Grid last year in August, and now the service is generally available (GA). The Azure Event Grid is a service which enables developers to manage events in a unified way in Azure.

Tom Kerkhove, an Azure consultant at Codit and a Microsoft Azure MVP told InfoQ:

The introduction of Azure Event Grid is a big game changer because it was the last piece of the Serverless puzzle and beyond. Now it is super simple, to provide extension points in your cloud solutions so that you can subscribe to events or allow 3rd parties to integrate with your platform.

With Azure Event grid developers can build reactive applications that handle events. These events can be storage blob events, provisioning notifications in an Azure subscription, IoT device signals, or even custom events. The benefit of this service is that developers no longer to have continuously poll an application or service for a change. Now it can receive an event and continue. Corey Sanders, director of compute at Microsoft, said in the Azure blog post on the announcement of the GA of Event Grid:

We make it easy to react to Azure native events and build modern apps anywhere, on-premises and cloud, without restricting you to use only our public cloud services. This is unique to Azure Event Grid.

Furthermore, Azure Event Grid is a serverless service. Hence it scales dynamically to handle millions of events per second, provides a pay-as-you-go model, and has an SLA guaranteeing 99.99% availability. Furthermore, it offers a 24-hour retry policy with an exponential back off for event delivery and SDK’s for .NET, Node.js, and Python with more language support coming soon for Java, Go and Ruby.

The concept of Event Grid evolves around events emitted from a source (publisher), which can be an Azure service or a third party source that adheres to the event schema. The event publishers in Azure include IoT Hub, Storage, and the recently added Event Hubs. Subsequently, the events are sent to a topic in Event Grid, and each topic can be one or multiple subscribers (event handlers). A topic can be configured with the event publisher or can be a custom topic for custom events. Finally, the event handlers react to the events and process them. The event handlers in Azure include Functions, WebHook, and Event Hubs.



Image source: https://azure.microsoft.com/en-us/blog/announcing-the-general-availability-of-azure-event-grid/

Microsoft plans to increase the number of publishers and handlers. Dan Rosanova, principal program manager lead, who acted as a product owner for Event Grid, said to InfoQ:

Azure Event Grid makes the promise of serverless real. We can now really change the way we assembly cloud components into applications. Going forward, we will continue to onboard more Azure services and go beyond Azure and beyond Microsoft to enable event-driven scenarios across services, clouds, and organizations.

New architectural possibilities will rise with Azure Event Grid. Clemens Vasters, technical lead in Microsoft's PM team for the Windows Azure Service Bus, told InfoQ:

Event Grid is catching everyone’s attention because it unlocks new architectural possibilities for cloud platforms and applications: it’s the glue that enables information flow between services, and Event Grid allows expanding the capabilities of existing services by extension. By wiring a handful of Azure Functions to the events raised by an Azure Storage blob account, you can turn that Storage account into a photo library that can do format conversions, thumbnailing, auto-tagging, and more. You made a smart file system by adding features to it. For business apps, it’s the same. You can even add tactical extensions to existing solutions that only run for a couple of weeks. Maybe after having sent invites to all sales leads for the coming trade show, you want to make sure that each new sales lead added to the system afterwards also gets that invite: make a simple tactical extension hooked up to the “new sales lead” event, and have that do the work for the days leading up to the show. And then just drop the extension without impact on the integrity of the core app. That’s powerful.

Azure Event Grid is globally available in the regions of the U.S., Europe, and Asia, with more to come soon. For pricing details see Event Grid pricing and the full documentation on the Azure Event Grid service is available on the Microsoft Documentation site.

