A Proof of Concept for hosting a simple web application on AWS using Lambda, DynamoDB, CloudFormation and GitHub Actions.
- The application should be scalable and withstand an increase in load
- DynamoDB with On-demand capacity mode
- Lambda functions scaling
- The application should be fault tolerant and survive availability zone failure
- "AWS Lambda maintains compute capacity across multiple Availability Zones (AZs) in each AWS Region to help protect your code against individual machine or data center facility failures." See Resililence in AWS Lambda for more information.
- The same applies to DynamoDB. See Resilience and disaster recovery in Amazon DynamoDB for more information.
- Centralised logging of application and infrastructure metrics
- CloudWatch Dashboard
- Secure configuration at the network level
- VPC + Security Groups
- Automatically deploys when a new version is created