The ability to quickly scale has become table stakes for content distributors. Autoscaling — which allows organizations to dynamically add or remove virtual servers based on changing traffic patterns — helps organizations save money, improve performance, and ensure availability.
Our last article took a look at what autoscaling is, and why you need it. In this post, we’ll take a closer look at the limitations of traditional autoscaling solutions delivered by cloud providers like AWS, Microsoft Azure, and Google Cloud.
Read on to find out why today’s autoscaling systems are lacking and how you can overcome this with a purpose-built solution from Raskenlund.
How Your Cloud Providers Autoscaling Works
Here’s a look at how autoscaling is handled by cloud providers and why it’s ill-suited for streaming media deployments.
- Metrics Monitored
Traditional autoscaling solutions work by monitoring key metrics such as CPU utilization, network traffic, and memory usage. While these metrics are useful parameters, they aren’t a good fit for streaming media platforms.
Why? It’s simple: these metrics don’t provide clear insight into each server’s overall performance. Depending on the role of a server in the streaming workflow, additional insight into bandwidth usage, concurrent sessions, and many other factors is crucial.
Additionally, most autoscaling systems don’t take into account the fact that despite the metrics falling below a defined threshold, each server may still have one or more sessions. This can prevent the autoscaling system from decreasing overall capacity by terminating a server.
Traditional cloud autoscaling fails to see the whole picture and therefore takes a less strategic approach. By using the right parameters, organizations can more accurately assess the server’s overall performance and make informed decisions about scaling.
2. Server Reassignment
Another intricacy of streaming that traditional scaling doesn’t take into account is the relationship between the client and the server. Connections to servers are often session-based on streaming media platforms. Whereas HTTP traffic on web servers typically works with short-lived sessions, streaming media sessions are typically longer and must remain on the same server throughout a session.
This becomes a problem when the autoscaling systems attempt to scale down by reassigned a request to a different server in the cluster. Although web requests can easily be routed to another server during times of low load, the same isn’t true for streaming workflows. As stated above, streaming media sessions last longer. Reassigning a client to a different server mid-stream interrupts the workflow and can have inconvenient effects.
This used to be a problem on the ingest side, where protocols like the Real-Time Messaging Protocol (RTMP) and Secure Reliable Transport (SRT) are used to publish continuous streams of data. But today, more content distributors are using Web Real-Time Communications (WebRTC) for last-mile delivery, making this an issue on both ends of the workflow.
The Need for Streaming Media Autoscaling
Setting up an effective autoscaling mechanism for your streaming deployment is more complicated than cloud providers will tell you. That’s because cloud autoscaling was built for web requests, not for complex streaming workflows.
By tailoring their autoscaling strategy to their unique requirements, organizations can ensure that resources are scaled in a way that best supports their business goals.
Besides, cloud providers like AWS and Microsoft Azure would prefer to sell their bundled streaming offerings rather than customize their autoscaling capabilities for businesses building their own streaming platforms.
The benefits of building it yourself are many — including lower costs and flexibility. What’s more, architecting your own streaming infrastructure allows you to mix-and-match services and providers to get all the functionality you need.
By tailoring their autoscaling strategy to their unique requirements, organizations can ensure that resources are scaled in a way that best supports their business goals.
So, what should you look for in a streaming autoscaling solution? For one, you need a system that can distinguish the different disciplines in the workflow and use the metrics that define the system performance for the servers in each discipline. Besides that, your streaming autoscaling solution should be able to assess requests for a streaming session and assign the client to the best server based on parameters that matter.
Luckily, Raskenlund now has a solution: Ztream Escalator.
What Is Ztream Escalator?
Using metrics and algorithms that work for Streaming Media, Ztream Escalator intelligently assigns sources to servers
Zstream Escalator is our bespoke next-generation solution for steaming autoscaling. It can be configured to add resources based on your requirements and will never interrupt a solution while downscaling.
Using metrics and algorithms that work for Streaming Media, Ztream Escalator intelligently assigns sources to available resources. It understands the overarching streaming media workflow, while also managing the capacity of individual components.
Stream Escalator also supports all types of scaling — reactive, scheduled, and predictive. These can be combined or leveraged individually.
- Reactive. Ztream Escalator will dynamically adapt to sudden changes in demand without causing interruptions.
- Predictive. With predictive autoscaling, Ztream Escalator is able to anticipate future changes based on your own data or anonymized general data.
- Scheduled. If you have predictable surges in viewership every Friday from 8–10 p.m., Ztream Escalator can be configured in advance to scale up.
What’s more, Zstream Escalator works with any streaming protocol, provider, or region. The result? The capacity you need, when you need it — but no wasted resources when demand is low.
Want to Learn More About Ztream Escalator?
Contact us today to get started. Your viewers, budget, and the environment will thank you.