BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Microsoft Announces General Availability of SignalR Service Bindings in Azure Functions

Microsoft Announces General Availability of SignalR Service Bindings in Azure Functions

Bookmarks

Microsoft has announced the general availability of SignalR Service bindings in Azure Functions, which provides the ability to push messages and content updates in real-time to connected clients. Moreover, this would start through the various triggers of Azure Functions, including services such as Cosmos DB and Service Bus.

Using SignalR the server side of web applications pushes updates into the registered clients, meaning these clients don't need to poll to keep updated of any changes. In fact, they accomplish this through the use of techniques such as WebSocket, Server-Sent Events and Long Polling, which allows for bi-directional communication between the server and browser or application. Additionally, through Azure SignalR Service Microsoft makes these capabilities available as a managed service. According to John Waters, partner at Trailhead Technology Partners, the primary advantage of using SignalR Service is the scalability it provides.

If your service goes viral and expands to a farm, you would traditionally use a SignalR backplane, with Sql Server or Redis as a backing store. Turns out there is a lot of tricky programming behind getting this to work well, using sticky sessions and load balancing web sockets. Using the Azure SignalR service, this is all taken care of for you.

On the other hand, Azure Functions is a compute service, following the serverless paradigm. To accomplish this, it uses triggers to implement event-based scenarios, executing a piece of code whenever activating. Furthermore, using input bindings facilitates to bring in additional data from other sources as well. This makes it possible to enrich the message before sending it to its destination output, such as SignalR Service. Correspondingly, combining these two services allows to have real-time event driven updates to client applications. For example, it is now possible to have an Azure Function react to a change in Cosmos DB, sending the data to the client via SignalR.

Source: https://truefit.io/blog/2019/1/14/azure-functions

Of course, this is just one of the possible scenarios, with the documentation providing various other possible scenarios.

  • Visualize IoT device telemetry on a real-time dashboard or map
  • Update data in an application when documents update in Cosmos DB
  • Send in-app notifications when new orders are created in Salesforce

To start using these new capabilities, Microsoft has updated their documentation with all the information needed to get introduced into the possibilities. Also, a quick start is available with guidance on the steps for setting up a complete solution. The community also has several articles available, such as Philipp Bauknecht, Microsoft regional director & MVP, who has published on how to create a real-time messaging with Azure Functions, Azure SignalR Service and an Angular client application.

Rate this Article

Adoption
Style

BT