How a high-performance hosting provider uses Varnish to offer low-latency game play for their customers and a global gaming CDN for other companies
Gaming has entered a new era marked by a need for lightning-fast, scalable and reliable content delivery with the lowest latency possible. When new games launch, or large updates are issued, it’s a big deal for internet infrastructure overall, and certainly a challenge for gaming studios, ISPs and hosting companies.
Powering a low-latency global gaming empire
Forward-thinking hosting companies have helped to shape the evolution of high-performance gaming. One such company in Europe started off in the early 2000s by developing its own global network of about 15,000 bare metal servers. The provider rapidly grew into a major online infrastructure service provider specialized in game hosting. Its exponential growth and scope of its innovation, despite its small size, caught the attention of much larger organizations in the gaming space and were acquired to provide the low-latency networking required for the scale of global gaming today.
Its vast presence is felt globally with growing points of presence (PoPs) worldwide on all six continents, and a robust backbone connecting all the PoPs. Extending this presence to connections with all the major ISPs, the hosting company provides do-or-die low-latency content delivery. It’s with this expansion that challenges began to arise, and where Varnish entered the story. They knew they could extend Varnish to design their own purpose-built CDNs to meet some of their biggest future-oriented challenges.
Solving for fast, more reliable global downloads and content delivery
With servers placed everywhere, the hosting provider built their infrastructure to be robust, resilient, and swift, which is where the open source Varnish Cache solution enters the story.
Across global servers, Linux-based installations required downloads of install files from a repository, such as Debian, CentOS, Fedora, or Ubuntu. The hosting company wanted to host these files themselves to avoid relying on other people or services. They built mirror servers using Varnish to make this faster across geographies.
Having used Varnish before, they knew that shortening the path a file needs to travel reduces latency considerably in sending packed back and forth. Placing Varnish as a proxy in the middle cuts down on round-trip requests to the origin, letting downloads happen simultaneously, that is, the proxy on the US East Coast downloads directly from Europe while the US West Coast gets the file from the East Coast node at the same time. All of this sped up the overall download.
A secondary issue arose as game studios tried to install their game server on the hosting company servers and hosted their install files with inadequate resources behind them. For example, in Google Cloud, if 500 servers are going to download the same install files at the same time, the connection with Google gets congested, especially because location mapping may not be correct in every location. The hosting company experienced having around 500 install files coming in via one 10-gig port and started thinking, “Can we do something about this? Can we cache this?”
The evolution of gaming CDNs: Building with Varnish Enterprise
Varnish helped guide the initial design, building and implementation of the hosting company’s new CDN solution. Backed by considerable internal expertise, the hosting team engaged in discussion with Varnish to outline design and take a look at the Varnish Configuration Language (VCL).
With the CDN solution, the hosting company fulfilled a few key functions:
- Getting games to end users/making downloads fast and available
- Deploying game servers that game studios need to download and install
- Deploying game builds to studios and testers around the world, as they are working on and testing them together and daily game builds need to move around efficiently
- Hosting online game content, i.e. optimizing the parts of the game that permanently live online