Serverless Architecture on
AWS
Prepared by Rajind Ruparathna
Outline
● What is AWS?
● Most Popular AWS Products
● What is Serverless Architecture?
● Asynchronous Serverless Model
● Synchronous Serverless Model
● Amazon Lambda
What is AWS?
“Amazon Web 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/)
Most Popular AWS Products
http://2ndwatch.com/blog/the-most-popular-aws-products-of-2016/
Source - http://2ndwatch.com/blog/the-most-popular-aws-products-of-2016/
What is Serverless Architecture?
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.
What is Serverless Architecture? contd.
Source - https://dzone.com/articles/serverless-faas-with-aws-lambda-and-java?
Asynchronous Serverless Model
In an 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.
Asynchronous Serverless Model contd.
Synchronous Serverless Model
A typical 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.
Synchronous Serverless Model contd.
Amazon Lambda
Computer service to 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
Using Amazon Lambda
Using Amazon Lambda contd.
Using Amazon Lambda contd.
Limitations of AWS Lambda
● 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.
Limitations of AWS Lambda
● 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.
References
https://aws.amazon.com/lambda/
https://dzone.com/guides/the-cloud-native-development-and-deployment
http://2ndwatch.com/blog/the-most-popular-aws-products-of-2016/

Serverless Architecture on AWS

  • 1.
  • 2.
    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.
  • 8.
  • 9.
    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.
  • 10.
  • 11.
    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
  • 12.
  • 13.
  • 14.
  • 15.
    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.
  • 17.