A serverless chat application built entirely on AWS Lambda, S3, DynamoDB, and SNS.
Lambda Chat is a demonstration chat application built entirely on AWS serverless services. It shows how to create a real-time web application without managing any servers, using AWS Lambda for backend logic, S3 for static hosting, DynamoDB for data storage, and SNS for message passing. It solves the problem of building scalable, cost-effective applications with minimal operational overhead.
Developers and architects interested in serverless computing, AWS services, and building real-time applications without traditional infrastructure. It's particularly useful for those learning how to integrate multiple AWS managed services into a cohesive application.
Developers choose Lambda Chat as a reference implementation for serverless architectures on AWS. Its unique selling point is demonstrating a complete, real-time application using only AWS managed services, providing a practical example of event-driven design and serverless best practices.
A chat application without servers - using only AWS Lambda, S3, DynamoDB and SNS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates AWS Lambda, S3, DynamoDB, and SNS into a working chat app without server management, as illustrated in the detailed architecture diagram in the README.
Uses SNS to trigger Lambda functions and DynamoDB Streams for data persistence, demonstrating scalable, asynchronous message handling typical of serverless best practices.
Frontend hosted on S3 and backend on Lambda's pay-per-use model minimizes operational overhead and costs, aligning with the project's philosophy of minimal infrastructure management.
Implements Google OAuth with AWS Web Identity Federation for secure authentication, providing a practical example of federated identity in serverless apps, as detailed in the setup steps.
Requires configuring CloudFormation with resources.py, setting up Google OAuth, managing multiple kappa configs for Lambda, and installing Python dependencies, making initial deployment cumbersome and error-prone.
Relies on frontend polling an S3 object every second for new messages, which introduces delay compared to true real-time solutions like WebSockets, as admitted in the workflow description.
Heavily dependent on AWS-specific services like Lambda, S3, DynamoDB, and SNS, limiting portability and flexibility for teams using other cloud providers or multi-cloud strategies.
Mentions using DynamoDB Streams 'in preview' and requires Python 2.7, which may lead to compatibility issues or instability in modern environments, as noted in the README.