Overview of AWS Lambda:
AWS Lambda is a service of the Amazon Web Service which allows the user to execute the code in a serverless manner. A serverless manner means the user can execute the code without having the server or without managing any server. The user doesn’t need to worry about the machine or any other things like the operating system(OS) on the machine, attached security patches, and other necessary components. Users will just run the code with the help of the Lambda service.
Lambda is an automatic version of EC2 that is used to execute the background tasks. The developer needs to put the code on AWS Lambda and then the user can associate the function with specific AWS resources like an Amazon S3 bucket, Amazon DynamoDB table, Amazon SNS notification, or Amazon Kinesis stream.
Lambda Function Deployment:
The developer needs to upload the application code to AWS Lambda. This application code is called Lambda Function. The developer can upload one or more than one application code to AWS Lambda in order to compute the service.
The lifecycle of the AWS Lambda depends upon three basic components mentioned below:
- Code Language
- Uploading the Code
- Monitoring and troubleshooting
The developer can only write the lambda function that is predefined by AWS lambda. AWS Lambda runtime implements some of the libraries and any additional libraries that you use must be uploaded. Languages and their supported tools are mentioned below.
|Node.js||Visual Studio, with IDE plug-in,
Your own authoring environment
|Java||Eclipse, with AWS Toolkit for Eclipse,
Your own authoring environment.
|C#||Visual Studio, with IDE plug-in,
Your own authoring environment.
|Python||Your own authoring environment.|
|Go||Your own authoring environment.|
Uploading the Code: Before uploading the code to AWS Lambda, the developer must organize the code and dependencies in order to create a lambda function. The developer needs to create a development package. For this, the developer can use build plugins such as maven for java and Jenkins for Node.js. After that developer can upload the code to AWS Lambda and create the Lambda Function.
Monitoring and troubleshooting: You can put the AWS Cloud Watch to monitor the Lambda function on your behalf and report you according to your selected metrics and threshold. Monitoring tools(Cloud Watch) helps the developers to troubleshoot any failures in the function.
AWS Lambda Limits:
AWS Lambda Limits, limit the amount of computing and storage resources that you can use to run and store functions.
|Function and layer storage||75 GB|
These unchangeable limits implement to function configuration, deployments, and execution.
|Function memory allocation||128 MB to 3008 MB, in 64 MB increments.|
|Function timeout||900 seconds (15 minutes)|
|Function environment variables||4 KB|
|Function resource-based policy||20 KB|
|Function layers||5 layers|
|Invocation payload (request and response)||6 MB (synchronous)/256 KB (asynchronous)|
|Deployment package size||50 MB (zipped, for direct upload)/250 MB (unzipped, including layers)/3 MB (console editor)|
|Test events (console editor)||10|
|/tmp directory storage||512 MB|