WebRTC For The Brave

Choosing the right architecture

Introduction

All sections in this module have explored some of the possible architectures that you can use when creating your video experience. Ultimately, there is no silver bullet to this question since there are several considerations involved when building an application and different factors apply to every organisation building something in the video space.

This lesson summarises the content explained in the previous lessons. By carefully evaluating these factors and understanding the strengths and weaknesses of each architecture, organisations and individuals can make an informed decision that aligns with their specific video calling needs.

SFU with Cascading: Best option for most use-cases

  • SFU with cascading is the best scaling and lowest latency architecture.
  • Most major video platforms use this approach.
  • Cloud vendors like Stream and Agora offer this out of the box.
  • It offers the best call reliability by providing scalability, fault tolerance, load reduction, and Quality-of-Experience (QoE) optimisation.
  • The limitation with this approach is that you either need to run hundreds of servers or use a cloud vendor.

Peer-to-Peer (P2P): Most cost-effective

  • Lowest cost per call of all the major video architectures.
  • Development cost can be high to get the experience right, especially on mobile.
  • Best suited for use cases where costs are essential and the call volume is high.
  • Best suited for calls with less than 4 geographically close participants on reliable network conditions.

MCU: Better for legacy systems

  • A good option if you need to integrate with external systems that require this approach.
  • Requires expensive servers and large amounts of compute power.

SFU without Cascading: Good for simple use-cases

  • An SFU without cascading architecture is easier to build and host yourself.
  • Scalability is quite ok, but not as good as the SFU with cascading approach.
  • Latency is higher.