WTF is AWS Lambda?

Tomasz Łakomy
InstructorTomasz Łakomy

Share this video with your friends

Send Tweet
Published 3 years ago
Updated 2 years ago

AWS Lambda, Serverless, FaaS - there is a lot of noise around those topics online (and for a very good reason!) and it can get confusing at times.

In this quick 2 minute lesson we're going to cover what exactly is AWS Lambda, what's the Lambda pricing model (e.g. what's included in the free tier), what programming languages can be used with Lambda and also - what does it mean for something to be "serverless"

Tomasz Łakomy: [0:00] When someone says they're going Serverless with AWS, they probably mean AWS Lambda. AWS Lambda is a compute service provided by Amazon Web Services, which operates in a Function as a Service model, which means that you, as a developer, you only need to provide the function, that is, the code to be executed whenever AWS Lambda function runs.

[0:17] This is what Serverless means. That is, of course, there are servers, but you as a developer, you don't have to worry about provisioning and managing your servers, and you only pay for the compute time you consume.

[0:28] What that means is that AWS Lambda function can run up to 15 minutes. If your function only takes two seconds to execute, you will only pay for those two seconds of the execution time.

[0:39] You don't start paying right away though, because AWS Lambda free tier usage includes one million free requests per month. Unless you have some significant traffic, you are not going to pay anything by using AWS Lambda.

[0:51] Once you get more traffic, you pay 20 cents per one million requests. AWS Lambda says it's reasonably cheap for your usage purposes.

[0:59] Once you create your function, it can be triggered by various sources. It can be either API Gateway, which means HTTP request, Alexa, or for instance, putting data into DynamoDB or uploading something to S3.

[1:13] There are a number of programming languages supported by Lambda service. You can use Node, you can use Go, Java, Python, .NET, or Ruby. There are different versions of each programming language. For instance, Python has a couple of versions, as well as Node.js, and Java.

[1:30] You can create your functions in a number of ways. For instance, you can edit the code inline in this editor, as well as uploading a .zip file including all your dependencies -- for instance, Node modules if you're using JavaScript -- and also you can upload a file from Amazon S3 to be executed as your code in Lambda.