ASP.NET Core SignalR is an open source library for ASP.NET Core developers that makes it extremely simple to add real-time web functionality, ability for server-side code to push content in real-time, to the connected clients. As a result, clients are updated without polling the server, or submitting a new HTTP request for updates.
Real-time technologies have become integral part of many the applications today. This need can easily be sorted out using Azure SignalR Service. The Azure SignalR Service is an Azure service based on ASP.NET Core SignalR. Microsoft Azure SignalR Service is currently in Public Preview.
The following are few such examples of application that can easily enhance real time capabilities, using the Azure SignalR Service:
- Apps that require high frequency updates. Examples: games, social networks, maps and GPS apps.
- Collaborative apps. Example: team meeting apps.
- Monitoring and Dashboards. Examples: System monitoring dashboards, Live monitoring dashboards.
- Apps with notifications. Example: Social networks, email, chat, games etc.
Advantages of Azure SignalR Service over self-hosting:
Real-time applications often requires high-frequency data flows and large number of concurrent connections between the client and server. Though, it is possible to deploy your own ASP.NET Core SignalR server for sending real time updates to client apps. However, that come with few challenges of performance, scalability and availability. With Azure SignalR Service, those challenges are auto resolved making your life easy. Moreover, Azure SignalR service comes with 99.9% service-level agreement.
Load balancing a large number of persistent WebSocket connections is another complex problem to solve as you scale. Azure SignalR Service handles this problem as well.
Azure SignalR also supports Serverless computing applications. For example, Azure Functions, which can be bit tricky because it runs only on-demand and doesn’t maintain long connections with clients. Azure SignalR Service can handle this situation as well since it itself manages connections.
Scaling Azure SignalR
In order to scale Azure SignalR service, all you have to do is update the unit count for your service. Each service unit supports up to 1000 client connections.
The below pricing reflects a preview discount. During the preview timeframe, the same pricing applies to both external, publicly available implementations and internal, enterprise implementations. In the future, there may be different pricing plans based on usage rights, feature availability, throughput, service terms and other factors.
|Concurrent Connections per Unit||100||1,000|
|Messages / Unit / Day||1,00,000||20,00,000|
|Price / Unit / Hour||Free||₹2.22|
Currently in preview, Azure SignalR service is available in East US, West US, West US 2, West Europe and South East Asia zones.
Please read my article “Creating a SignalR Service on Azure” to learn how to create a SignalR service on Azure using the Azure portal.