Azure Event Grid is a First Step Towards the Vision of a Serverless Middleware
A few weeks ago, I wrote about the potential of serverless computing to enable the next generation of middleware technologies. Now, Microsoft is talking a first step towards that vision with the release of Azure Event Grid.
At a high level, Event Grid is a native Azure service that simplifies the implementation of event-based applications. More specifically, Event Grid enables the routing of events across different Azure services. Using Event Grid, developers can public and receive events from different services, dynamically categorize them under different topics and route them to different Azure endpoints.
Event Grid is an obvious extension to Microsoft’s serverless stack. However, surprisingly, the platform wasn’t built using Azure Functions which is Microsoft’s foundational serverless technology. Instead, Event Grid was implemented on top of Service Fabric which is Azure’s platform for building and managing microservices. Service Fabric provides fundamental building blocks of microservices architectures such as Actors or Stateful Services in a simple architecture and programming model. Leveraging Service Fabric provides Event Grid with an extensible, scalable and manageable foundation to deliver its serverless messaging capabilities.
Conceptually, Event Grid makes Events generated by Azure services a first-class citizen in the Azure platform. To some extent, you can think about Event Grid as a platform for managing and processing events across different Azure endpoints. The platform integrates with several Azure services including Functions, Blob Storage, Resource Manager, Event Hub, WebHooks, LogicApps and several others. New integrations, including a much expected support for Azure IOT Hub should be added in the near future.
Azure Event Grid represents a strong differentiator in the serverless technology market which have seen the top competitive stacks evolve into very similar offerings. Despite your cloud platform preferences, we can’t deny that serverless platforms such as AWS Lambda, Bluemix OpenWhisk, Google Cloud Functions or Azure Functions literally match each other feature by feature. Technologies such as Azure Event Grid expand the value proposition of serverless platform beyond the simple execution of functions.
Some Ideas for Event Grid’s Short Term Roadmap
The initial release of Azure Event Grid looks like a solid step towards a very ambitious vision. This version provides some glimpse into the potential evolution of serverless middleware technologies as a relevant category in the cloud space. Before getting too excited, I’ve listed a few ideas I would like to see as part of Azure Event Grid in the shorterm.
1 — Third Party Event Publishers and Handlers: Azure Event Grid should include integrations with popular SaaS stacks to generate and process events through the platform.
2 — Event Hub-IOT Hub Strategy: Azure provide several messaging technologies that enable event routing and management and there is certain level of overlap that can cause confusion among developers. From that perspective, I would like to see a clear strategy for using Event Grid together with other Azure messaging services such as Event Hub or IOT Hub.
3 — Cortana Integration: The combination of Event Grid and Cortana Skills opens the door to so many interesting scenarios that would require a separate post to explain them :).
4 — Cognitive Services Handlers & Publishers: Event Grid could be an ideal bridge to integrate Microsoft Cognitive Services with other cloud technologies.
5 — Logic Apps Integration: As an advocate of the serverless middleware concept, I find the integration between Event Grid and Logic Apps super intriguing. I would like to see Event Grid capabilities expanded to support more sophisticated iPaaS scenarios with Logic Apps.