The document outlines serverless architecture on AWS, explaining the concept of function as a service (FaaS) and how it enables applications to run without managing servers. It discusses asynchronous and synchronous serverless models, along with the AWS Lambda service, which executes backend code in response to various events. Additionally, it highlights limitations such as execution timeouts and the necessity of external state management.
Outline
● What isAWS?
● Most Popular AWS Products
● What is Serverless Architecture?
● Asynchronous Serverless Model
● Synchronous Serverless Model
● Amazon Lambda
3.
What is AWS?
“AmazonWeb Services (AWS) is a secure cloud services
platform, offering compute power, database storage, content
delivery and other functionality to help businesses scale and
grow. Explore how millions of customers are currently
leveraging AWS cloud products and solutions to build
sophisticated applications with increased flexibility, scalability
and reliability.” - Amazon
(https://aws.amazon.com/what-is-aws/)
4.
Most Popular AWSProducts
http://2ndwatch.com/blog/the-most-popular-aws-products-of-2016/
Source - http://2ndwatch.com/blog/the-most-popular-aws-products-of-2016/
5.
What is ServerlessArchitecture?
Serverless Architecture is also called Function as a Service (FaaS).
A serverless architecture allows you to run your application—including computing,
storing, and networking-—without the need for spinning up and managing a single
(virtual) machine.
6.
What is ServerlessArchitecture? contd.
Source - https://dzone.com/articles/serverless-faas-with-aws-lambda-and-java?
7.
Asynchronous Serverless Model
Inan asynchronous scenario, the caller does not wait until the
function returns. Notifications via WebSocket or push
notifications to a mobile device can be used to provide
feedback to the user.
Synchronous Serverless Model
Atypical use case for the synchronous model is a REST API.
An incoming HTTPS request is triggering a serverless
function. The caller waits until the function returns a result.
Amazon Lambda
Computer serviceto run users back-end code in response to events such as an update to
Dynamo DB, uploads to amazon S3 bucket, data in Amazon Kinesis streams or In-app
activity.
AWS provides the computing infrastructure and a runtime environment for JavaScript
(Node.js), Java, Python, or .NET Core (C#).
● No Servers to Manage
● Continuous Scaling
● Sub Second Metering
Limitations of AWSLambda
● On AWS Lambda, there is an execution time out of 5
minutes for every function execution.
Nevertheless, you can execute the same or different
functions in a highly parallel manner. Dividing your application
into small functions is necessary when following a serverless
approach.
16.
Limitations of AWSLambda
● A serverless function is stateless. Persisting state
between two executions of the same function is not
possible in general. Neither in memory nor on disk.
Therefore your serverless function needs to store state
externally. On AWS there are the following options to store
data: Amazon DynamoDB, a NoSQL database, and Amazon
S3, an object store.