Cloud Computing (50433)
Case Study: Use of AWS Lambda for Building a Serverless Chat Application
Name:Vinay Kumar ERP: 18051 Submission Date:3rd April 2021
The growing interest into different technologies that can improve businesses in many industries has been caused by controversial UI based applications by large organizations like Facebook, Whatsapp etc. This case study is based on an application too which aims to improve business using serverless architecture which is a part of cloud computing where everything is “maintained” by the provider of cloud services. The serverless architecture opens door for efficient and optimized environments where the majority code runs in simplified stateless blocks using triggered events.
This is a case study on developing a chat application using AWS Lambda alongside other AWS services. Amazon Web Services is a cloud service platform that has various services allowing for developers to be free of maintaining and handling lots of components of building an application while providing scalability, availability, security, networking, and virtualization for a future-proof solution. The study defines all services being used in the chat application one by one starting with Amazon S3, which is the storage service for web, tailored to help developers with convenient web-scaled computing. The data is stored in a simple UI, accessible from anywhere at any time. It’s stored using a key, which identifies an object in a bucket uniquely.
The main component is AWS Lambda as the application is powered by AWS Lambda’s framework which is a trigger-driven computing platform for cloud offered on pay-as-you-go terms and it has high scalability. It is based Function-as-a-Service (FaaS) model as it allows Lambda functions to be run on AWS, with support for major programming language and compilers. The case study then draws comparison between EC2 (Elastic Compute Cloud) and Lambda to justify why this AWS service was chosen. The main takeaways being that AWS Lambda has better time to execute, the billing criteria is better for it, the maintenance is done by AWS completely, and it’s better for scalability than EC2 for the chat application.
Other services that are being used are defined in the study as followed; IAAM manage users and groups for the user, defining roles which allow a user to define pre-package access sets; Dynamo DB is a component required as a NoSQL database service which works a key-value storage system; Amazon API Gateway being a service that a developer can use to deploy non-AWS applications to AWS backend resources, such as servers; Amazon Cognito is being used for as a user management system to manage user pools that controls user authentication and access for mobile applications; AWS CloudWatch provides data insights while Amazon CloudFront is used as a middle-ware which resides in between a user request and the S3 data center.
All the services defined provide a serverless architecture for a chat application with user authentication and cloud based security, real-time message, session monitoring, and intuitive UI in a cost efficient architecture.
Why Lambda was chosen:
- Lambda enables the creation of a new execution of functions in milliseconds which is factored in Lambda.
- Lambda bills a user only for the time they took, and bill is generated for just the power computed. While EC2 bills by the second; user might end up paying for the computing power they might not be using.
- For Lambda, all you need to do is code, build and upload your function, then triggers will execute it however it is required, while in EC2, you have to pay extra even for the server’s OS boot time.
- Lambda can scale up to a thousand parallel executions, while in EC2 a user can scale only by adding more servers.
- In lambda, AWS automatically keeps the server up to date so maintenance is done by AWS and user is not required for maintenance.
Explain how you can use Server-less Chat Application in business case scenario?
Use Cases:On-demand, E-commerce, Media, Healthcore, Banking(fintech)
Serverless chat application has many different use cases with many takeaways:
- It can reduce information gap as it will help contain communication in-app.
- The uncertainties will be reduced, and it will lowers marketing cost and increase visual representation.
- Reduce offline overhead and improve operation efficiency.
- It is highly Scalable therefore it can be beneficial for business of multiple sizes.
- Improves non-human to human interaction and off-site support.
Click here to download the complete solution
Our happy customers
They are fast in responding to homework questions. they have the best technical writers. Thanks for helping me with my programming doubts.
I contact to disklib for homework, they help me out, despite there was some technical issue they gone through extra mile for me and provide me good quality work in first priority. 100% recommended.
Desklib's study resources are best & unique. Their study database is easy to access and easy to use.
100 % recommended.