Skip to main content
MistServer MistServer
Back to articles

Guides

The building blocks of a Streaming Media CDN

OptiMist Team December 6, 2023 4 min read

The internet has truly become a great place to share media. You can connect to anyone in just a few seconds, and a single server could even have worldwide reach. However, as you might have experienced, using just a single server does not provide a similar experience to everyone connected. Connection speed and quality greatly differ per region, and it is a hurdle anyone serious about their media will need to challenge. Luckily, there is an easy proven solution: Content Delivery Networks.

Sharing media worldwide
Global audiences expect consistent quality—your architecture makes that possible.

Content Delivery Networks

Scaling your CDN footprint
Balance ingest and egress capacity so every region stays responsive.

A Content Delivery Network (CDN) is the solution to providing worldwide similar quality. The longer the connection between the server and viewer, the higher the chance something can go wrong or get delayed. There's no real way around it; if you want to provide the best user experience, you will need a server relatively nearby. CDNs are just that—a network of servers working together to provide content to the users of the CDN. One thing to keep in mind is that a huge media platform isn't necessarily composed of one CDN but does provide users a single point of entry. Users of a platform might be using multiple CDNs in the background.

Traditional CDNs

Traditional CDNs have a very strict split between origin/ingest servers and edge/egress servers, each with its own focus.

An origin or ingest server is responsible for making media available in the network. This could involve having access to a library or being the ingest point for other companies or even users to send content toward. The origin server is responsible for ensuring that the content can be received and used by the edge or egress servers. An edge server is responsible for the distribution and delivery of the content directly to viewers.

While the core of a CDN is ensuring content gets to your viewers, there are several other processes that matter. You will need to determine who can watch what and when. Some content might not be immediately ready for distribution and needs preparing—adding additional qualities or even changing the entire format of the media. It is never as simple as “just get the media out there.”

MistServer wordmark
MistServer keeps ingest, processing, and delivery isolated so each can scale independently.

MistServer as a CDN

Linking several MistServers together will already create a CDN, but can you build a traditional CDN using MistServer? The answer is yes, but you might want to consider the alternative—a hybrid CDN. As explained in MistServer employs a unique design, which allows MistServer to fully separate input and output processes. MistServer runs into no danger of overloading the input side of things if the output side is getting more activity. You can reserve capacity for the input side of things and allow the output to use whatever is left.

Setting up servers like this will still leave you with nodes that tend to function as origin or edge, but every server can be a failover for another, no matter the focus. Even when scaling up, this comes into play; every server added increases platform stability. Customers who tested hybrid deployments often found they could scale down while enjoying higher reliability.

Load balancing

Roadmap for balancing traffic
Telemetry-fed load balancing keeps each region responsive.

The key to a successful CDN is knowing when you need to send what content where. That can mean routing connections to less obvious servers because they provide a better experience during peak hours. To do so, you need a load balancer—a process that determines the best place to send a viewer. This is where an advanced media server like MistServer truly shines.

Our load balancer checks in with every MistServer it is connected to and knows exactly how many viewers, how much resource usage, and how much predicted usage a new viewer will take up. The combination of MistServer with a load balancer doesn't just guess the impact of viewers; it knows the impact and can make intelligent adjustments. If a stream starts growing beyond current capabilities, additional servers spin up well before a hiccup occurs.

Achieve greatness with MistServer
A flexible toolkit lets you evolve your CDN without re-architecting everything.

Customizing your CDN

The final step is determining what makes your CDN special. Are you chasing ultra-low latency, layering interactivity, or running a decentralized footprint with servers constantly joining and leaving? The flexibility you get with MistServer as your backbone lets you build any type of CDN and make it truly unique. You do not have to do this alone—contact us and feel free to give us a challenge!

Need a hand?

Talk directly to an engineer

We help teams architect MistServer deployments tailored to their workflows.