gtgkartik / Serverless-chat-App-AWS

Serverless Chat Application built and deployed on AWS

Home Page:http://my-chat-app-bucket-s3.s3-website.ap-south-1.amazonaws.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is Serverless ?

Slide2 Serverless computing is a cloud computing execution model where the cloud provider automatically manages the infrastructure for running applications. This model allows developers to focus on writing code without worrying about server management tasks.

Serverless vs. Server-Based Apps: Trade-Offs

Factor Serverless Server-Based
Scalability Automatic and cost-efficient Manual or predefined auto-scaling
Management Minimal management and maintenance Full server management and maintenance
Performance Variable performance and cold starts Consistent performance and custom optimization
Development Faster deployment, microservices friendly Slower deployment, suited for complex architectures
Costs Pay-as-you-go, potentially variable costs Fixed costs, predictable for long-term usage
Security Provider-managed, isolated environments Full control over security configurations
Complexity Simple for small projects, complex at scale More setup needed, scales well for larger apps

Serverless Computing Components

Component Description Example Providers Example Usage
FaaS Function as a Service AWS Lambda, Google Cloud Functions Event-driven tasks like API requests or file uploads
BaaS Backend as a Service Firebase, Auth0, AWS Amplify Managed services like databases and authentication
API Gateway Manages API requests and routes to serverless functions AWS API Gateway, Azure API Management Creating, managing, and securing APIs

Advantages of Serverless Computing

Advantage Description
Reduced Costs Pay only for the actual compute time and resources used.
Automatic Scaling Automatically scales up or down based on demand.
Focus on Code Developers focus on writing code rather than managing infrastructure.
Quick Deployment Fast deployment and iteration of applications due to managed infrastructure.
Improved Reliability High availability and fault tolerance managed by the cloud provider.

Challenges of Serverless Computing

Challenge Description
Cold Starts Latency when functions are invoked after being idle for a while.
Vendor Lock-In Ties applications to specific cloud providers and their services.
Complex Debugging Debugging can be complex due to the distributed nature of functions.
Limited Execution Time Functions often have limits on execution time and resources.
Resource Limitations Constraints on memory, execution time, and concurrency for functions.

Serverless vs. Traditional Server-Based Architectures

Feature Serverless Computing Traditional Server-Based Computing
Management Managed by the provider Managed by the developer or DevOps team
Scaling Automatic and on-demand Manual or pre-configured auto-scaling
Cost Pay-as-you-go based on usage Fixed costs for server capacity and uptime
Performance Variable, with potential cold start latency More consistent performance
Development Speed Faster due to reduced infrastructure management Slower due to server setup and maintenance
Flexibility Limited flexibility due to predefined functions Greater flexibility for custom configurations

Popular Serverless Services

Cloud Provider Serverless Service
AWS AWS Lambda, API Gateway, DynamoDB
Google Cloud Google Cloud Functions, Firebase
Microsoft Azure Azure Functions, Azure Logic Apps
IBM Cloud IBM Cloud Functions, IBM Cloud Databases
Alibaba Cloud Alibaba Cloud Function Compute, API Gateway

When to Use Serverless

Use Case Serverless Server-Based
Microservices Yes No
High Traffic Apps No Yes
Event-Driven Apps Yes No
Cost Efficiency Variable costs Fixed costs
Performance Needs Lower performance Consistent performance
Development Speed Faster Slower

System Design Architecture

system design architecture

Services I have Used

Slide4

Slide5

Slide6

Slide7

Slide8

Slide9

Slide10

Slide11

About

Serverless Chat Application built and deployed on AWS

http://my-chat-app-bucket-s3.s3-website.ap-south-1.amazonaws.com/

License:Apache License 2.0


Languages

Language:JavaScript 54.0%Language:HTML 43.9%Language:Velocity Template Language 2.0%Language:CSS 0.2%