AWS GameLift and Graviton CPUs

Hi!

Are there any estimations, when Graviton CPUs will be available for the AWS GameLift service? It can help us with costs reducing.

Thanks.

Hi @zamazan4ik,

Thanks for reaching out. This is a requested feature in our backlog, and I have worked with our product manager to record your request. Supporting new EC2 instances types is important to GameLift and we have recently launched support for AMD instances: Announcing AMD instance support for Amazon GameLift FleetIQ

Have you tried using SPOT instances? They can provide you with hosting solution at at much reduced costs compared to ON_DEMAND instances (you can view SPOT price history in the GameLift AWS console), and combined with GameLift Queues, the chances of SPOT interruptions will be greatly reduced. See best practices on GameLift Queues.

I am already working with SPOT instances - it helps a lot. By the way, is there any estimations for “average count of interruptions for SPOT instances”? I know that such metric can be quite unstable and rely on a dozen of different AWS-internal parameters… But who knows - maybe you already have such measurements :slight_smile:

Thanks for the AMD SPOT instances - I also like it. But why I’ve mentioned Graviton CPUs - I think that Graviton + SPOT will be the cheapest option nowadays on AWS.

We do not have any public metrics to forecast future spot interruption rate, but Queues will isolate you a lot from Spot interruptions. The best practice is to setup 3 fleets with at least 2 fleets with different instances types for SPOT (e.g. c5.large and c4.large), and 1 ON_DEMAND fleet (e.g. c5.large). If one of the SPOT instance type is at risk for being interrupted, GameLift Queues will start to route game sessions to other SPOT fleet; if both instance types are at risk, then Queues will still fallback to the ON_DEMAND fleet. Again, see Best practices for GameLift game session queues - Amazon GameLift

You can also setup Scaling Policy (Recommended approach is target tracking), to make sure that your ON_DEMAND fleet is minimally scaled up unless it’s being used or about to be used.

Typically, developers see Spot interruption rates lower than their background server crash/failure rate. Obviously your mileage may vary depending on game session length, instance types and regions in use. You can see the GameSession interruption metrics on GameLift AWS Console or you can instrument your own to verify your experience: when you get a OnProcessTerminate notice you can request the termination time (see GetTerminationTime). NOTE: The time returned is best effort, but is typically 1-2 minutes before the process will be force terminated. You can make a decision about what to do then, but the strong recommendation is to terminate your process gracefully, but you could:

  • Let the game finish if time allows
  • Use game session backfill features to move players to existing game sessions
  • Trigger a game event that makes sense in your game context and terminate.
  • Migrate players to a new game session with suitable messaging.
  • Message the players and reward them with ingame items/boost in the next game
  • etc.
2 Likes