Back in the days of floppy disks and CDs, games would load a few megabytes on your hard drive. As games grew, they needed a few hundred megabytes, but now games can be a few gigabytes. To add to this massive increase in storage requirements, gaming developers have users from all around the globe. When an update is deployed, potentially millions of users could be hitting the server all at once to grab a gigabyte file. The resource usage could crash the server or offer very slow performance for users. That’s where a CDN can help.
A Short Recap of How CDNs Work
CDNs are huge networks with data centers located across the globe. Most CDNs have several locations that they call “point of presence” or POPs. When you visit any CDN site, they will show you where they have locations, and this should be important to you when you choose one of them. Most CDNs continue to expand, but you want one that has POPs in your location and your customer’s location.
CDNs have edge servers, which are located at each data center and represents the servers that will host your content. They cache content too, so it speeds up delivery when users have access to a game CDN rather than making the request at your own server, which could be thousands of miles away. Although data travels at the speed of light, the time it takes to retrieve and download content is still cut significantly when you have a presence close to the user rather than thousands of miles away.
Gaming CDNs and Content Delivery
Downloads are static content, which makes them great for CDN usage. When a user requests a download, the CDN edge server first looks to see if it has the file available in cache. If not, it pulls the content from your origin server. The origin server is your local hosted server where you deploy files for the public.
The CDN pulls the content from your origin server and stores it on its own local edge server at a location close in proximity with the user requesting data. The first user to request the content may have to wait a bit longer than the rest, because the gaming CDN must first pull files from your origin server.
After the first user gets files delivered, the gaming CDN stores and caches the content on its local server. The next user that requests the content is given the locally cached copy, so now any of the thousands of users in proximity to this local edge server gets content delivered straight from cache.
The proximity is a huge factor for content delivery, but there are a few other factors too. Since the CDN has data centers around the globe, content delivery is spread out instead of having just one server (even a farm behind a load balancer) store and deliver content. These servers are usually faster with better resources since the CDN keeps high-end equipment. Many local networks avoid upgrading servers due to budgetary concerns, which means they get outdated and slower even with more users requesting data.
It sounds like having a high-end content delivery network would be costly, but it’s not. You gain performance and user satisfaction for as little as $.01/GB to start.