Scaling out with Azure
Scaling up a single machine can help just up to a certain limit, beyond which we have no other option but trying to add more servers. Of course, this poses different issues; the most relevant being, how we can keep the redundant infrastructure transparent to users. This principle is the base of a solution that can scale at will and according to usage. The overall idea here is to have a load-balancing infrastructure that can transparently route the clients to different servers.
The problem is that this way we lose any guarantee about which of our servers will satisfy a request; therefore, those would need a system to exchange messages and information in order to provide a seamless and fully functional experience to users, especially when performing broadcasts towards all the open connections, which are likely to be scattered across the whole web farm.
Such systems exist, and are called backplanes. At the time of this writing, SignalR provided three official backplanes...