● AWS Lambda is a compute service that lets you run code
without provisioning or managing servers.
● AWS Lambda executes your code only when needed and
scales automatically, from a few requests per day to
thousands per second.
● You pay only for the compute time you consume - there is
no charge when your code is not running.
First questions for lambda
● What type of code can I run as a Lambda function?
● How does AWS Lambda execute my code?
● How does AWS Lambda know the amount of memory and CPU requirements
needed to run my Lambda code?
Lambda languages support
When you use Lambda you are responsible
only for your code.
When Lambda should be used
● Data changes
● Result of data analysis (Kinesis)
● Your own solutions
How Lambda launches code?
● When a Lambda function is invoked, AWS Lambda launches a container (that
is, an execution environment) based on the configuration settings you
● After a Lambda function is executed, AWS Lambda maintains the container for
some time in anticipation of another Lambda function invocation.
● You should specify
○ Max amount of memory
○ Maximum execution time
○ IAM role (execution role)
○ Handler name
● Any declarations in your Lambda function code remains initialized
● There is no AWS Lambda API for you to manage containers
● AWS Lambda is stateless
When you write your Lambda function code, do not assume that AWS Lambda
always reuses the container because AWS Lambda may choose not to reuse the
container. Depending on various other factors, AWS Lambda may simply create a
new container instead of reusing an existing container.
Kinesis allows to create apps for streaming
● Ability to get and store TBs of data from hundreds of thousands sources in
○ Web-site visiting statistic
○ Geo location
○ Social media data
○ Financial transactions