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.
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.
Provider | Total Cost per Month (Compute + Bandwidth) | Details |
---|---|---|
Virginia 2.98x public cloud cost multiplier | ||
Azure (PlayFab, US East) | $ 10,174 | 18 D16asv4 servers 1036.8 GB billed bandwidth |
Google Cloud | $ 5,945 | 9 e2-highcpu-32 servers 1036.8 GB billed bandwidth |
Datapacket (Ashburn) | $ 5,280 | 8 2 x Intel Silver 4210 servers Unmetered 1Gbps bandwidth |
phoenixNAP (Ashburn) | $ 2,360 | 8 "Dual Silver 4210R" servers 0 GB billed bandwidth |
Cloudfitters (Ashburn) | $ 1,992 | 8 "Dual E5-2690V2" servers Unmetered 10Gbps bandwidth |
Ohio 2.33x public cloud cost multiplier | ||
Amazon Web Services (GameLift) | $ 7,241 | 9 c6g.8xlarge servers 1036.8 GB billed bandwidth |
Google Cloud (Columbus) | $ 5,288 | 9 e2-highcpu-32 servers 1036.8 GB billed bandwidth |
SectorLink | $ 2,268 | 6 "Dual E5-2690V2" servers Unmetered 1Gbps bandwidth |
South Carolina | ||
Google Cloud | $ 5,288 | 9 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.
Region | Burst 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 | ||
Virginia | 11 | 250 |
Ohio | 13 | 320 |
Americas → U.S. Central | ||
Iowa | 9 | 222 |
Illinois | 6 | 147 |
Texas | 17 | 409 |
Americas → U.S. West Coast | ||
California | 14 | 337 |
Washington | 4 | 92 |
Nevada | 11 | 269 |
Oregon | 24 | 573 |
Arizona | 8 | 177 |
Americas → Canada | ||
Montréal & Quebec City | 6 | 146 |
Toronto | 7 | 160 |
Americas → South America | ||
Brazil | 12 | 279 |
Chile | 27 | 665 |
Europe → Western Europe | ||
France | 9 | 221 |
Belgium | 8 | 186 |
Sweden | 6 | 136 |
Ireland | 15 | 369 |
Italy | 16 | 380 |
England | 10 | 240 |
Germany | 9 | 209 |
Netherlands | 13 | 323 |
Switzerland | 10 | 242 |
Spain | 12 | 291 |
Norway | 8 | 190 |
Europe → Eastern Europe | ||
Poland | 10 | 243 |
Finland | 10 | 233 |
Asia → Northern Asia | ||
Japan | 21 | 517 |
Taiwan | 20 | 487 |
Asia → Central Asia | ||
Hong Kong | 15 | 362 |
Asia → Southern Asia | ||
Indonesia | 16 | 380 |
Singapore | 12 | 283 |
Asia → India | ||
Delhi | 17 | 421 |
Mumbai & Pune | 9 | 212 |
Australia | ||
Sydney | 7 | 163 |
Melbourne | 9 | 217 |
Africa | ||
Johannesburg | 15 | 371 |