Skip to main content

Avoiding public clouds

To host game server containers, you'll need to rent computing power from someone. It can be tempting to use well-known services such as PlayFab and GameLift, or generic compute on public clouds such as AWS, Azure or Google Cloud. These providers have the benefit of capacity and instant provisioning, but come at a significant cost: on public clouds you can expect to pay 6-12 times more than a local provider for the same hardware and bandwidth in a given region.

By almost every metric, dedicated servers from a local provider will be cheaper and more performant than running the same workload on virtualized machines in a public cloud. The downside to dedicated servers is that you have to pay month-to-month and the provisioning time is often a few days.

While this makes local providers unsuitable for burst workloads, most games will have a minimum concurrent player count that is met at all times. Even in cases where a concurrent user count is only hit for a percentage of time, it can still be cheaper to use local providers because public cloud is so expensive: it's literally cheaper to have a month-to-month dedicated server sitting idle than it is to burst into public clouds for a shorter period of time.

By comparing prices of public clouds and local providers, this document will aim to convince you that you should deploy month-to-month fixed hardware as a first preference, and burst into public clouds only when absolutely necessary.

Later in this document we'll model when you should consider bursting into cloud. For this we'll need to know the public cloud cost multipler which is a measure of how much more expensive the cheapest public cloud is than the cheapest local provider in any given region.

Pricing comparison calculator

The pricing calculator below shows the total estimated costs you would pay for a game that has a minimum of 1500 concurrent players at all times in the chosen region. In this calculator, the game might burst above 1500 concurrent players, but costs associated with that burst are not shown here; this is simply a baseline cost per month to serve the lowest number of concurrent players the game experiences.

This calculator assumes:

  • 1500 concurrent players is the minimum number of players in the chosen region at all times.
  • Each game server container hosts 8 players at a time; for example, the game operates 4v4 matches.
  • Each game server container requires 1.5 threads for execution. This will depend on the nature of the specific game, but since optimizing CPU requirements per game server container will result in a CPU usage reduction on all providers, this won't change the relative cost factors between providers that much.
  • Each player uses approximately 400 kilobits per second up and down. Public clouds only charge for egress, so those are billed at 400kbps. Private clouds often bill for both ingress and egress, but include bandwidth in their monthly price.

This calculator doesn't include additional storage (SSD or HDD) costs associated with instances. Public clouds often charge extra for storage, but unless your game server container is performing a high amount of disk I/O, you can usually choose cheaper storage tiers to reduce costs here. Almost all private clouds include storage in the monthly price of instances, yet they're still cheaper than public clouds as per the table below.

Public clouds here do not apply 1-year or 3-year reservations, as these can have significant upfront costs, and it can be difficult to predict player counts that far in advance to take advantage of these savings.

Public clouds here also do not use spot instance pricing, as interrupting dedicated servers mid-match is unacceptable to most games.

Values here are rounded to the nearest dollar, and all values are in USD.

info

We don't vouch for any of the local providers listed here; this pricing calculator is for illustrative purposes. The intent of this pricing calculator is to demonstrate that you can find local providers in various regions with significantly lower list prices.

Also, these prices are accurate as of the time this document was written. However, since all the listed prices are "frozen in time", they're still useful for relative comparisons.

ProviderTotal Cost per Month
(Compute + Bandwidth)
Details
Virginia 2.98x public cloud cost multiplier
Azure (PlayFab, US East)$ 10,17418 D16asv4 servers
1036.8 GB billed bandwidth
Google Cloud $ 5,9459 e2-highcpu-32 servers
1036.8 GB billed bandwidth
Datapacket (Ashburn)$ 5,2808 2 x Intel Silver 4210 servers
Unmetered 1Gbps bandwidth
phoenixNAP (Ashburn)$ 2,3608 "Dual Silver 4210R" servers
0 GB billed bandwidth
Cloudfitters (Ashburn)$ 1,9928 "Dual E5-2690V2" servers
Unmetered 10Gbps bandwidth
Ohio 2.33x public cloud cost multiplier
Amazon Web Services (GameLift)$ 7,2419 c6g.8xlarge servers
1036.8 GB billed bandwidth
Google Cloud (Columbus)$ 5,2889 e2-highcpu-32 servers
1036.8 GB billed bandwidth
SectorLink $ 2,2686 "Dual E5-2690V2" servers
Unmetered 1Gbps bandwidth
South Carolina
Google Cloud $ 5,2889 e2-highcpu-32 servers
1036.8 GB billed bandwidth

Burst threshold calculator

The burst calculator determines the point at which you should move workloads from a public cloud provider to a local provider in the same region. Beyond the burst threshold, it is cheaper to have a dedicated server at a local provider sitting idle than to use a virtual machine in a public cloud, even when the public cloud does per-second or per-hour billing.

RegionBurst Threshold (Days)Burst Threshold (Cumulative Hours)
Lower is better. The lower the value, the cheaper the local provider is compared to the cheapest cloud in that region.
Americas → U.S. East Coast
Virginia11250
Ohio13320
Americas → U.S. Central
Iowa9222
Illinois6147
Texas17409
Americas → U.S. West Coast
California14337
Washington492
Nevada11269
Oregon24573
Arizona8177
Americas → Canada
Montréal & Quebec City6146
Toronto7160
Americas → South America
Brazil12279
Chile27665
Europe → Western Europe
France9221
Belgium8186
Sweden6136
Ireland15369
Italy16380
England10240
Germany9209
Netherlands13323
Switzerland10242
Spain12291
Norway8190
Europe → Eastern Europe
Poland10243
Finland10233
Asia → Northern Asia
Japan21517
Taiwan20487
Asia → Central Asia
Hong Kong15362
Asia → Southern Asia
Indonesia16380
Singapore12283
Asia → India
Delhi17421
Mumbai & Pune9212
Australia
Sydney7163
Melbourne9217
Africa
Johannesburg15371