[text]
This Guidance helps developers build a scalable, serverless push notification messaging system for games. The architecture supports both player-specific event messaging and batch messaging for groups of players. Players can be notified of friend activity, such as joining or leaving a game or earned achievements. Developers can notify players of in-game campaigns and events based on geographic location. This Guidance can also help customers store message data to meet regulatory requirements as needed.
Please note: [Disclaimer]
Architecture Diagram

[text]
Step 1
An AWS Lambda function processes requests from devices and maps these requests to Amazon API Gateway.
Well-Architected Pillars

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.
-
Operational Excellence
DynamoDB supports AWS CloudTrail auditing of data plane and control plane operations, so you can quickly detect problems. You can use Amazon CloudWatch metrics to track service usage to visualize this data.
-
Security
AWS Identity and Access Management (IAM) allows for authorization management of resource access, such as DynamoDB and Amazon S3. You can integrate AWS WAF to defend against external attacks and audit activity with AWS CloudTrail.
-
Reliability
DynamoDB provides point-in-time recovery and on-demand backup. You can back up and restore user data online. DynamoDB and Amazon S3 keep three replicas of data in case of failure in an Availability Zone, resulting in automatic localization and recovery of services after downtime. You can configure multiple AWS Regions for DynamoDB using global tables to minimize disruption in case of Region failure.
-
Performance Efficiency
By configuring serverless services, you can build a message service that scales to meet a growing number of users per month without having to worry about instance-level management. Additionally, CloudWatch metrics track performance issues by checking the number of requests and latency.
-
Cost Optimization
For online analytical processing (OLAP) workloads, especially for large data exchange, this Guidance uses Amazon S3 and Parquet for data compression. This option increases your cost optimization as compared to directly manipulating DynamoDB. You can further optimize costs by using DynamoDB reserved capacity for large-scale processing.
-
Sustainability
You can use DynamoDB on-demand capacity mode to scale to the exact number of requests for data reads and writes that you perform on tables. On-demand capacity mode helps you avoid over-provisioning unnecessary resources. This allows you to leave all resource management to the service side.
Implementation Resources

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.
Related Content

[Title]
Disclaimer
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.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.