AWS Lambda ("serverless compute") lets you run code without provisioning or managing servers. Amazon announced AWS Lambda in November 2014. You pay only for the compute time you consume - there is no charge when your code is not running. With Lambda, you can run code for virtually any type of application or backend service - all with zero administration. Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.
AWS Lambda is a compute service where you can upload your code and create a Lambda function. Lambda takes care of provisioning and managing the servers that you use to run the code. You do not have to worry about operating systems, patching, scaling, etc. You can use Lambda in the following ways:
- As an event-driven compute service where Lambda runs your code in response to events. These events could be changes to data in an S3 bucket or a DynamoDB table.
- As a compute service to run your code in response to HTTP requests using Amazon API Gateway or API calls made using AWS SDKs.
Data Centre -> IaaS -> PaaS -> Containers -> Serverless (e.g., Lambda)
What is Lambda? It encapsulates all of the following for you:
- Data Centres
- Assembly code/protocols
- High-level languages
- Operating systems
- Application layer / AWS APIs
- Languages Lambda supports (as of February 2017):
As of January 2017, your Lambda function needs to finish its work within 300 seconds. As of January 2017, Lambda supports Node.js, Java, and Python.
- Number of requests
- First 1 million requests are free. $0.20 per 1 million requests thereafter
- Duration is calculated from the time your code begins executing until it returns or otherwise terminates, rounded up to the nearest 100ms. The price depends on the amount of memory you allocate to your function. You are charged $0.00001667 for every GB-second used.
- Number of requests