Amazon Web Services lection 5

Preview:

Citation preview

Amazon Web Services:Cloud Formation, Lambda, Kinesis

Dmitriy BesedaBinary Studio

2016

Cloud FormationCloud Formation - tool that allows to

create group of services and their interaction. It also helps to provide predictable resources allocation and updating.

It is free!

Lambda● 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● NodeJS● C#● Java● Python

When you use Lambda you are responsible only for your code.

When Lambda should be used●Events

●Data changes

●Alarms

●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 provided.

●After a Lambda function is executed, AWS Lambda maintains the container for some time in anticipation of another Lambda function invocation.

Lambda features●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

●Latency for the first function invoking

●Each container provides some disk space in the /tmp directory

●Background processes or callbacks initiated by your Lambda function that did not complete when the function ended resume if AWS Lambda chooses to reuse the container

Lambda featuresWhen 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.

KinesisKinesis allows to create apps for

streaming data analysis.

Kinesis features●Ability to get and store TBs of data from hundreds of thousands

sources in hour○ Web-site visiting statistic

○ Geo location

○ Social media data

○ Financial transactions