So far we have seen that certain applications can be broken down into one or more simple nuggets of code called as functions and uploaded to AWS Lambda for execution. Lambda then takes care of provisioning the necessary resources to run your function along with other management activities such as auto-scaling of your functions, their availability, and so on. So what exactly are we supposed to do in all this? A developer basically has three tasks to perform when it comes to working with Lambda--writing the code, packaging it for deployment, and finally monitoring its execution and fine-tuning.
In this section, we are going to explore the different components that actually make up a Lambda function by understanding what AWS calls as a programming model or a programming pattern. Currently, AWS officially supports Node.js, Java, Python, and C# as the programming languages for writing Lambda functions, with each language following a generic programming pattern that comprises of the following concepts.
xxxxxxxxxx
Lambda is a keyword that defines anonymous functions. Lambda functions are
self-contained blocks of functionality that can be used in code and passed
around. They are characterized by a more concise syntax compared to regular
Python functions.
The name lambda comes from Lambda calculus, a mathematical system introduced
by Dr. Alonzo Church in the 1930s. Lambda notation distinguishes between
variables used as mathematical arguments and variables that stand for
predefined values.
Lambda functions are used in Python, C++, Lisp, and Ruby. In data science,
lambda functions are often used in conjunction with higher-order functions.