Services Used

Image

Below is a list of the AWS Services that are being used for the Alien Attack game:

AWS Cloud Development Kit (CDK): AWS Alien Attack was built using the AWS CDK for the infrastructure deployment. To learn more about the AWS CDK, click here. If you have time, we also encourage you to explore the AWS CDK Workshop.

AWS Cloud9: AWS Cloud9 will be used to host your “development environment”.

Amazon Cognito: Amazon Cognito provides identification and authentication services to AWS Alien Attack.

AWS Identity and Access Management (IAM): AWS IAM allows your team to create and manage access to AWS resources. In Alien Attack, we will be implementing Role-Based Access Control (RBAC) by mapping IAM Roles and IAM Policies to users in Amazon Cognito in order to provide the proper level of access to each user.

Amazon S3: S3 is used to host the Alien Attack website. Amazon S3 is also used to store the raw data being ingested from our Gamers.

Amazon API Gateway: Amazon API Gateway provides the API that we will use to help the Gamers interact with the backend of our application.

AWS Lambda: AWS Lambda is the foundation for our processing layer. This service allows you to run code without provisioning or managing servers.

Amazon Kinesis Data Streams: Alien Attack uses Amazon Kinesis Data Streams to ingest live scores and data coming from our game.

Amazon Kinesis Data Firehose: Amazon Kinesis Data Firehose is the easiest way to load streaming data into data stores and analytics tools. This service can capture, transform, and load streaming data into Amazon S3, Amazon Redshift, Amazon Elasticsearch Service and Splunk, enabling near real-time analytics with existing business intelligence tools and dashboards that you’re already using today. In Alien Attack, we are using Kinesis Data Firehose to move data from Kinesis Data Streams to Amazon S3.

Amazon DynamoDB: Amazon DynamoDB is the database that we are using to store the scoreboard data for Alien Attack’s game sessions. Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale. DynamoDB is a fully managed, multiregion, multimaster database with built-in security, backup and restore, and in-memory caching for internet-scale applications. DynamoDB can handle more than 10 trillion requests per day and support peaks of more than 20 million requests per second.

AWS Systems Manager: AWS Systems Manager provides a unified user interface for you to view operational data from multiple AWS services. This allows you to automate operational tasks across your AWS resources. Alien Attack is using the Parameter Store feature of Systems Manager as a centralized store to manage the configuration data of the application, which includes plain-text data such as database strings and secrets such as passwords.

Alien Attack also uses the AWS SDK for Javascript in the Browser and the AWS SDK for Node.js. Unfortunately, Alien Attack was not developed using best practices. In this workshop, you will also need to implement and apply best practices for programming and DevSecOps.