Since we’ve already talked about AWS Lambda and its usefulness in today’s modern and digitalized civilization, we will cover another topic regarding the Lambda function and its functionality in our every day, digital lives.

AWS Lambda, as we already learned, is a compute service that allows you to run code without managing servers. AWS Lambda runs the code when it is needed, and it is automatically scaled. The code you execute on AWS Lambda is called lambda function, and it can be considered, for better understanding, as a formula in a spreadsheet. As you need to make formulas, so it could automatically calculate any data you enter, functions are somewhat similar.

The Basics

Creating simple functions via the Lambda web console is quite easy. Functions allow your code to run smoothly in performing smaller automated tasks. The function is ready to run as soon as it has been triggered. The Lambda function includes your code along with associated configuration information. Lambda functions have nothing to do with the underlying infrastructure. Therefore, Lambda can execute as many copies of the function as needed so it can be scaled to comply with the rate of the incoming events.

When your code is uploaded to AWS Lambda, your function is commonly associated with some specific AWS resources like an Amazon S3 bucket, an Amazon DynamoDB table, Amazon SNS notifications or Amazon Kinesis streams. After associating your function with AWS resources, when the resource has changed, Lambda will execute your function and manage the compute resources to achieve success with the incoming requests.

Building Lambda Functions

After uploading your application code in the form of one or even several AWS Lambda functions to AWS Lambda, AWS Lambda will execute the code for you. AWS Lambda takes care of managing the servers to run the code when invoked. The lifecycle of an AWS Lambda-based application includes several sections.

  • Authoring code for your Lambda function in the languages supported by AWS Lambda. The supported languages are Node.js, Java, C#, Python, and Go. These languages use specific tools for authoring code. Some of them are AWS Lambda console, Eclipse IDE, etc.
  • Deploying code and creating a Lambda function requires you first to package your code and dependencies in a deployment package to be able to develop a Lambda function. After doing so, you need to upload the deployment package to AWS Lambda, so it will allow you to create Lambda function. Organizing your code and dependencies in specific ways is the first step towards building the deployment package. Deployment package instructions may vary depending on the language you have chosen to author the code.
  • Uploading a deployment package is allowed by AWS Lambda’s CreateFunction operation which is used for creating a Lambda function. You can choose between AWS Lambda console, AWS CLI, and AWS SDKs to create a lambda function. Providing configuration information after establishing the lambda function including the compute requirements is submitted to your deployment package.
  • Testing Lambda functions can be done by following one of the methods like testing your lambda function in the console or using the AWS CLI or even check it locally using the AWS SAM CLI.
  • Monitoring of lambda functions becomes automatic after your it is in production while reporting metrics is done through Amazon CloudWatch. This is the main pain-point of lambda functions. Take a look at out site to get better insight into your lambda functions.
  • Lambda itself assists in troubleshooting failures in a function. Lambda logs all of the requests that are handled by your function and it also automatically stores all the logs generated by your code in Amazon CloudWatch Logs.

Configuring Lambda Functions

A Lambda function consists of the code and associated dependencies, and it also has configuration information within it. You are the one who’s specifying the configuration information when creating a Lambda function. API is also provided so you can update some of the configuration data. Lambda function configuration information comes with the critical elements like computing the resources needed, maximum execution time (timeout), IAM role (execution role), and handler name.


What Is a Lambda Function?
1.05 GEEK