AWS Services Used
Due to the workshop’s serverless nature, AWS Alien Attack runs at near zero-cost for one user. Nonetheless, there remain costs associated that will change as the number of users scales.
Below is a list of services used in this workshop:
- AWS Cloud Development Kit (CDK): AWS Alien Attack was built using the AWS CDK for infrastructure deployment. To learn more about CDK, see “What is CDK”, and visit its github repository. Take some time to explore the AWS CDK Workshop.
- AWS Cloud9: Cloud9 will be your “development environment”. To learn more about Cloud9, including pricing, click here. Cloud9 provides free tier.
- Amazon Cognito: We use Cognito to provide identification and authentication services to AWS Alien Attack. To learn more about Cognito, including pricing, click here. Cognito provides free tier.
- AWS Identity and Access Management (IAM): AWS IAM allows us to create and manage access to AWS resources. For Alien Attack, we are using roles and polices alongside Cognito to provide the proper authorizations to users. With Cognito and IAM, we are able to cover identification, authentication, and authorization using RBAC (Role-Based Access Control). To learn more about IAM, see here. IAM is available at no cost.
- Amazon Simple Storage Service (S3): S3 is used to host the website and to store the raw incoming data for analytics purposes. Read more about it here. S3 provides free tier.
- Amazon API Gateway: API Gateway will provide us with the capabilities to build a REST API that will serve as the interface between the gamer and the back-end. To learn more, see here. API Gateway provides free tier.
- AWS Lambda: Lambda is the foundation for our processing layer. It allows us to run code without having to provision servers. To learn more, see here. Lambda provides free tier.
- Amazon Kinesis Data Streams (KDS): KDS is used to ingest streaming data. To learn more about Kinesis Data Stream, including pricing, see here. Kinesis Data Streams has no free tier, but the cost for this application, for 1 user, the cost associated to Kinesis Data Streams will be 1 cent per hour approximately.
- Amazon Kinesis Data Firehose: Amazon Kinesis Data Firehose is the easiest way to load streaming data into data stores and analytics tools. It 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 you’re already using today. We are using it to drop data from Kinesis Data Streams to To know more about Kinesis Data Firehose, including pricing, click here. Kinesis Data Firehose has no free tier, but the cost for testing this application will be neglectable. Check the pricing model to learn more.
- Amazon DynamoDB: We use DynamoDB to store the scoreboard data for our game sessions. Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale. It’s 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. DynamoDB provides free tier, and we will be running under it for Alien Attack. To learn more, visit this link.
- AWS Systems Manager: Systems Manager provides a unified user interface so you can view operational data from multiple AWS services and allows you to automate operational tasks across your AWS resources. We are using the Parameter Store feature of Systems Manager, which provides a centralized store to manage your configuration data, whether plain-text data such as database strings or secrets such as passwords. To know more about Systems Manager, including pricing, see here. Parameter Store is free.