Guidance for Persistent World Game Hosting on AWS
Overview
How it works
These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.
Deploy with confidence
Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs.
Well-Architected Pillars
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
Operational Excellence
AWS Cloud Development Kit (AWS CDK) handles deployments and updates by using AWS CloudFormation to control resource updates and rollbacks. This reduces errors caused by manual configuration changes.
For Amazon GameLift fleet updates, CloudFormation will create a replacement fleet. It will wait for the replacement to become fully active to accept traffic before terminating the old fleet.
Read the Operational Excellence whitepaperSecurity
The game client uses Amazon Cognito Identity Pool identities to secure access to the back end services. This is achieved by signing the requests with AWS Identity and Access Management (IAM) credentials provided by the Identity Pool. Only authenticated requests are allowed to the provided APIs hosted on API Gateway. Additionally, game clients are allowed to access only the data of their own account.
Reliability
In case the game server (and consequently the game world) crashes, the architecture will automatically replace the world with a new one, which will have access to the same persisted data of that specific world.
Performance Efficiency
Amazon GameLift allows direct client to server communication to optimize near real time performance. The architecture allows developers to host game servers across multiple AWS Regions, reducing the latency between the game client and the server.
Cost Optimization
The architecture leverages serverless components including API Gateway, Lambda and DynamoDB, which allow you to reduce costs by paying for the exact amount of resources based on player traffic. Additionally, Amazon GameLift can be configured to scale based on demand so you have a minimal set of unused resources running at any given time.
Sustainability
Disclaimer
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages