How Should I Configure My Application for Autoscaling?

I want to be able to handle as much traffic as possible. How should I set-up my servers to host Red5 Pro? What size machine should I use?

ANSWER:

Autoscale:

Unless you have a relatively closed system with a predictable number of regular users, you will probably want to implement our autoscale solution for your production environment. Autoscaling allows you to start with the minimum number of three instances: the Stream Manager, and at least one origin and one edge server. Simply put, the origin accepts broadcasters, the edge accepts subscribers and the Stream Manager oversees the server usage.

The Red5 Pro Stream Manager is a Red5 Pro Server Application that manages traffic and monitors server usage. The Autoscaler Component works in real-time as it processes live stream information to add or remove servers depending on the current traffic demands. No actual streaming is done on the Stream Manager so, depending on how much traffic is anticipated, you can probably get away with a single CPU server instance.

The Stream Manager directs all publishers to the origin node server(s), and all subscribers to the edge node server(s). If you are using WebRTC in your solution, we recommend a minimum of four CPUs and 7GB of RAM for each node (for example, AWS’s c4.xlarge). This can be modified if you, for example, will have only a handful of publishers, in which case you could use a lower profile machine for your origin server(s). If you are using mobile only, then these servers can be an even lower profile. The minimum you will need is 2 CPUs and 4GB of memory. Please note that these are basic recommendations and you may need more for your particular set-up depending upon server load and the desired video quality.

If you are using AWS for your servers, We recommend the `c4` line because Red5 Pro is more CPU-intensive than memory, and the C4s have the best CPU to memory ratio between the AWS VMs. The one downside to AWS VMs is that the lower profile instances also have lesser network throughput, so you still may want something in the x-large range or higher, for High network performance.