Top 5 Ways To Optimise Cloud Cost For Game Workloads
As online gaming is one of the highest growing industries during pandemic, many gaming studios have seen unprecedented growth in their users. Higher traffic has resulted in more infra spend for all the gaming studios.
Here are top 5 avenues for gaming studios to cut costs.
Reserving cloud resources should probably be the first step towards saving cloud infrastructure costs. We can commit to use certain number of resources for a minimum commitment of 1 year to up to 3 years in return of discounts up to 60-70% depending on years of commitment and upfront payment.
Gaming studios having games which have spent at least 3-6 months in production should definitely identify and purchase reserved capacity to make considerable savings.
Caching static media assets like skins, images, banners, audio, video, etc. on a CDN should be another quick win as far as cost savings are concerned. Caching dynamic content like HTTP APIs for less frequently changing content can bring additional benefits. CDNs provide two main benefits:
1.Unburden backend servers from serving static assets and less changing dynamic content thereby decreasing server costs
2.Improving latency for end users by delivering content from nearest PoP location based on user location
Once you have CDN in place, you can avail data transfer reservation on CDN with time based and consumption based (in TeraBytes or PetaBytes) commitments with discounts up to 40-50% of on-demand data transfer charges.
We have seen customers saving thousands of dollars yearly just by reserving the CDN capacity. This can be a quick win since there is zero technical effort to enable reservation on CDN.
Spot instances bring bigger discounts as compared to reservations but that extra discount comes with a risk factor. The instances launched under spot pricing don't come with any time guarantees, meaning they can be pulled back from you without any notice based on supply demand of capacity and price fluctuations.
We recommend careful planning and testing before utilising spot instances for your workload, if done correct, this could bring substantial discounts.
After edge caching, this is another layer of caching which we have seen as a very popular choice among Game studios. This sits between the application layer and Database layer to save round trips to DB by providing an in-memory cache solution for blazing fast transaction throughput.
Redis cache is commonly used for caching DB queries, Leader boards, game session data, user data, etc. Offloading all the high throughput workload to Redis saves a lot of compute resources of the Database thereby saving server costs and improving overall performance.
There are a lot of highly scalable message buffers available, most commonly Apache Kafka, AWS Kinesis, etc. These buffers are can be used to reduce write IO strain on the DB by persisting incoming data into Kafka/Kinesis rather than directly making write queries into the database thereby saving DB server costs.
This reduces DB strain especially for massive traffic games where the DAUs are in the range of millions. This approach requires architectural considerations before implementation and we don't recommend it for games with less traffic.