This Guidance helps customers bring together different types of datasets and merge them into a single, consolidated view. AWS Game Tech customers can create a thorough behavioral profile of their players to gain further insights into how players interact with a game, participate within the game community, and socialize with other players. The Cohort Modeler categorizes and aggregates player metrics into individual player groupings, based on different types of metric data, including in-game metrics, in-game behaviors, and financial transactions. Deeper understanding into player behavior informs ongoing design and development decisions.
Game servers and clients use sensors to evaluate player actions such as behavioral toxicity, player style, and in-game purchases. These actions are declaratively logged with the Cohort Modeler API to collect data about player progression, community building, retention, and more.
Data consumers store content recommendations and query the API. Data consumers include artificial intelligence and machine learning (AI/ML) solutions and matchmaking services that connect players together.
Amazon API Gateway hosts a resource-based Cohort Modeler API to interact with graph vertices and graph edges.
AWS Lambda fulfills requests made to the API endpoint, converts HTTP/S requests into Gremlin graph queries, and submits these requests to the database.
Business users can use a Jupyter Notebook hosted on the AWS Cloud to interactively explore player cohorts.
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
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.
Application, workload, and infrastructure component telemetry is accessed through Amazon CloudWatch Logs. All operational health metrics are accessible through CloudWatch. The application itself tracks user and transaction telemetry through ingest and query APIs.
All data resides in Neptune and is encrypted at rest. Any bulk ingestion data (non-API data) resides on Amazon Simple Storage Service (Amazon S3) and is also encrypted at rest. Data in-transit is encrypted through a dedicated VPC endpoint to which only Neptune has access. Any query data (through the API) is encrypted in-transit using Transport Layer Security (TLS)/HTTPS.
The architecture is decoupled using a three-tier access pattern, from API Gateway to Lambda to Neptune. Each layer is independently scalable and highly available. Additionally, the layers are stateless and allow for automatic retry limits. Each layer individually sends logs to CloudWatch for analysis. The architecture is delivered as infrastructure code (IaC) through CloudFormation. CloudFormation manages any updates, roll-backs, or errors.
The services in this architecture provide automatic scaling and linear cost forecasting. Neptune has features to explore and determine player and cohort relationship modeling. The architecture also uses a reference Jupyter Notebook with code samples and provides step-by-step instructions on ingesting, querying, and modeling data
The architecture minimizes data transfer costs out of the AWS Region by charging for API query responses for player insights only. This results in data transfer costs only being incurred for services used in the architecture and not for data ingest. Additionally, you can forecast costs based on past usage.
The services in this solution are serverless, which eliminates the need for hardware. In general, Neptune supports serverless capabilities. In this architecture, we use a version of Neptune that is not serverless but that still uses the minimum amount of hardware needed to maintain reliability.
A detailed guide is provided to experiment and use within your AWS account. Each stage of building the Guidance, including deployment, usage, and cleanup, is examined to prepare it for deployment.
The sample code is a starting point. It is industry validated, prescriptive but not definitive, and a peek under the hood to help you begin.
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.