Case study: How Polystream’s low latency application streaming reached new audiences

  • October 4, 2018
Case study with Polystream

Polystream logo

Polystream is the only platform capable of instantly running 3D software from any cloud at scale. Our patented streaming technology eliminates the need for expensive GPUs in a cloud infrastructure. Instead, we have built our platform from the ground up to support real-time streaming of 3D graphics at any scale from any cloud.

About Polystream

Founded in 2015 by CEO Bruce Grove and CTO Adam Billyard, two industry pioneers with 50 years of combined experience, started off in ‘Silicon Valley’ style in a basement in Brighton. Their long-held vision – scalable streaming of video games and 3D applications via the cloud at low cost and global reach – is supported by investors and an enthusiastic team now based in Guildford.

Polystream connected with UpCloud through our CEO Bruce Grove. We started using UpCloud’s services about two years ago for a demonstration at Slush Helsinki. Since last year it has become even more important to us due to a relationship with a new client, who’s requirements fit well with UpCloud’s geographic locations.

Previous challenges

As with all streaming solutions, Polystream’s platform can offer a better experience the closer we are to the end user geographically, which is one of the main factors for improving and combating latency. Compared to other streaming providers, we don’t have the limitation of requiring GPU enabled virtual machines and are therefore able to provision in quite literally any data centre in the world. This allows us to be very choosy when it comes to working with cloud providers. However, one of the challenges that we often face is finding reliable, cost-efficient IaaS providers in regions of the world that the larger providers don’t cover.

Because our core technical requirements are little more than reliable computation and networking, we can stream from any data centre, anywhere in the world. Thanks to this, we can be very selective when choosing IaaS providers to work with, while focusing more on the level of service they are able to provide and the stability of their infrastructure.

Polystream 3D software streaming

Hosting on UpCloud

Our streaming agents are reasonably low spec, standard cloud servers. We only require a couple of CPU cores, a modest amount of memory, and are good to go. From a networking point of view, we use dynamic IP allocation and firewalls for connecting and securing the platform.

Most of our streaming agents are provisioned via management API integration with the provider. We haven’t yet reached this state with UpCloud so the provisioning of streaming agents is done manually through the UpCloud’s control panel. However, as soon as the server has been created, we are able to hand it over to our operations team where the automated deployment of our software happens using our in-house infrastructure management tools.

Improvements

We are always looking to broaden our global reach using reliable cloud providers with secure data centres and stable networks in interesting regions, which is exactly what UpCloud provides. Thanks to UpCloud we are able to deliver great quality streams to regions yet unreachable by traditional 3D streaming methods.

The only thing we ask of our cloud providers is consistent deployments and a stable network, two things that UpCloud provides in consistently good quality.

Polystream 3D software streaming

Future plans

We operate across several cloud providers at any one time and within those, we operate many virtual machines. This means that having the ability to automate provisioning via management APIs is always a primary consideration when deciding which IaaS providers to work with. As we accomplish this using Terraform by Hashicorp, we are very pleased to see that UpCloud have a set of open source plugins and an active community of contributors making our future task of integrating UpCloud into our automated deployment systems a very simple one.

Where possible we use PaaS offerings from a provider to mitigate some elements of our high-availability challenges. Very typically, this is solved using load balancing and failover configured via management APIs using our automation systems. When working with a provider that doesn’t offer these features, we will manage the platform-as-a-service aspects of high-availability ourselves with sometimes bespoke solutions per provider. If UpCloud offered configuration for clustered, load balanced virtual machines, that would certainly make our lives a little easier when we come to add UpCloud to our own automation configuration.

You could also be deploying infrastructure with Terraform. Get started today!

How to get started with Terraform