Instant broadcasting on serverless architecture

Blob Storage
Functions
SignalR Service
Web Apps
SQL Database

Solution Idea

If you'd like to see us expand this article with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know with GitHub Feedback!

Simplify one-to-many real-time communication and updates using serverless code.

Architecture

Architecture Diagram Download an SVG of this architecture.

Data flow

  1. Client pulls web app content from blob storage
  2. Web app receives SignalR token and endpoint
  3. User connects to web app
  4. Connection triggers database event via Functions
  5. Functions pushes data to SignalR Service
  6. …which in turn pushes data to client

Components

  • Azure Blob Storage: Stores large amounts of unstructured data, such as text or binary data, that can be accessed from anywhere in the world via HTTP or HTTPS. You can use Blob storage to expose data publicly to the world, or to store application data privately.
  • Azure App Service: Build and host web apps, mobile back ends, and RESTful APIs without managing infrastructure.
  • Azure Functions is a serverless compute option. It uses an event-driven model, where a piece of code (a function) is invoked by a trigger.
  • Azure SignalR Service provides asynchronous communication between the client and the server. It supports any scenario that requires pushing data from server to client in real time.
  • Azure SQL Database is a fully managed relational database with built-in intelligence.

Next steps