Since Rackfish acquired the video streaming service and online video platform Streamio we have worked on improving the technology that delivers the services.
When talking with clients we understood that the video encoding was performing under par at peak hours, and we begun diving into that. Streamio was, at the time of our acquisition, based on Amazon AWS services and was built in a scalable manner to handle large workloads but the base performance was not good enough
Rackfish works with a large array of outside suppliers, so AWS was no stranger to us. We have previously used AWS for “hybrid-cloud” solutions, where we use a combination of our own server capacity together with Amazon AWS. We choose to go that route for the Streamio Encoding Cluster as well.
Video encoding solution from Rackfish
The first step was to adapt the server deployment technology used at Streamio to work with Rackfish vmware-based services, to be able to deploy servers both at AWS and at Rackfish’ datacenter. After this we chose to close down the AWS base system servers and deploy a larger number of faster servers in our own datacenter. Apart from gaining a whopping 183% performance increase we gained better uptime thanks to technologies such as “high availability” that automatically restarts any servers that go down and DRS that makes sure the load is ideally distributed over the cluster._
At AWS we sometimes saw problems with CPU steal, which in short is when other client’s machines start using “our” CPU time, Amazon doesn’t reserve CPU capacity exclusively as Rackfish does, which requires reboots in order to “steal it back” – something that is not ideally done on a machine fighting for CPU-time, such as a video encoder.
Since Rackfish both reserves capacity, and never overbooks or overcommits CPU, memory or bandwidth we know that the machines now will have all the capacity dedicated to them, making performance a lot more predictable.
With the performance gains and more parallell machines, we have created a new video encoding cluster that will take us further and provide fast video encoding for a long time. Next step will be to integrate a automatic scaling of servers, where we plan to use AWS as a dynamic pool of resources for peaks, making it possible to deploy a very large number of machines when needed and then close them down.
Read more about Rackfish Managed Servers
Client: Streamio – Video Streaming
Hosting: Managed Hosting
Project URL: https://www.streamio.com
Services provided: Managed servers, Object Storage, Endoding, Video delivery over Rackfish CDN