Amazon Web Services? Keep it off my WebRTC service.
Here’s the thing:
- This is going to be a controversial post
- I haven’t got a solid opinion, but I will take a side here, for the fun of argumentation
I have been talking to WebRTC vendors for a long time now. It is a lot of fun and very educating for me. One of the questions where I get the most interesting answers is about the deployment model of these services – they range from fully virtualized-redundant-cloudified-dynamic solution to dedicated servers hosted in select data centers. The whole rainbow of choices is out there.
But here’s the thing – WebRTC is still video communications. And it is still done in real time. As such, it isn’t that fond of latencies and surprises. It has mechanisms to deal with these, but at the end of the day, give it a healthy dose of stability and predictability (with a touch of low latency) and it will give you back in media quality.
Virtualization… how would I say it… isn’t that fond of predictability. It likes keeping its options open. It tries to squeeze whatever fits on the CPU to make sure it increases utilization as a whole.
See the contention here? The misalignment in purpose?
WebRTC has a hard time today with smartphones (and desktop browsers) because they run on operating systems that aren’t real time in nature. It is hard to commit to processing frames at 20 milliseconds intervals and calculating the echo cancellation required if the operating system oscillates between 15 to 30 millisecond intervals (or more if it decided to garbage collect memory somewhere on another application). These same headaches? They exist at a whole different level on the server side – especially if you intend on doing some video processing work there (complex or otherwise).
Thinking of deploying your server?
Striving for the best media quality possible under the circumstances? Steer away from AWS and cloud/virtualize data centers. Go for dedicated ones.
Think otherwise? Let’s hear your voice in the comments below – as I said, I am not sure I am in agreement with myself on this one.