A serverless web application reference architecture using AWS Lambda, API Gateway, DynamoDB, and Cognito, demonstrated with a To Do app.
The AWS Lambda Web Application Reference Architecture is a blueprint for building serverless web applications on AWS. It provides a production-ready template that uses AWS Lambda for business logic, Amazon API Gateway for REST APIs, Amazon DynamoDB for data storage, and Amazon Cognito for user authentication. It solves the problem of designing a scalable, secure, and maintainable serverless backend by demonstrating integrated AWS services in a real-world To Do application example.
AWS developers, solutions architects, and DevOps engineers looking to build or understand serverless web applications using AWS services. It's particularly useful for those seeking a reference implementation that follows AWS best practices.
Developers choose this reference architecture because it provides a complete, well-architected example that reduces the learning curve and implementation time for serverless web apps on AWS. It demonstrates service integration, security patterns, and deployment automation using AWS SAM, validated against the AWS Well-Architected Framework.
The Web Application reference architecture is a general-purpose, event-driven, web application back-end that uses AWS Lambda, Amazon API Gateway for its business logic. It also uses Amazon DynamoDB as its database and Amazon Cognito for user management. All static content is hosted using AWS Amplify Console.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a complete, production-ready example integrating Lambda, API Gateway, DynamoDB, and Cognito, as outlined in the architectural diagram and components section.
Follows the AWS Well-Architected Framework, with a dedicated review included, ensuring security, reliability, and scalability from the start.
Uses AWS SAM for deployment, allowing reproducible infrastructure setup and management, as shown in the template.yml and deployment steps.
Integrates Amazon Cognito for user management with JWT-based authorization, protecting user data without custom auth code, as described in the authentication section.
Deeply integrated with AWS services like Lambda and DynamoDB, making migration to other clouds or technologies difficult and costly.
Requires multiple manual steps, including GitHub token generation and SAM CLI configuration, as detailed in the running the example section, which can be time-consuming.
Relies solely on DynamoDB, which lacks support for advanced SQL queries or transactions, limiting it for applications with complex data relationships.