AWS Lambda
AWS Lambda is an event-driven, serverless computing platform provided by Amazon as a part of the Amazon Web Services. It is a compute service that runs code in response to events and automatically manages the compute resources required by that code. It was introduced in 2014.[1]
The purpose of Lambda, as compared to AWS EC2, is to simplify building smaller, on-demand applications that are responsive to events and new information. AWS targets starting a Lambda instance within milliseconds of an event. Node.js, Python and Java are all officially supported as of 2016[update], and other languages can be supported via call-outs. However, some runtimes, such as the Java Virtual Machine, may be slower than others to start.
Unlike Google App Engine, the Platform as a Service offering from Google, AWS Lambda supports securely running native Linux executables via calling out from a supported runtime such as Node.js.[2] For example, Haskell code can be run on Lambda,[3] something that has never been possible on App Engine.
AWS Lambda was originally designed for use cases such as image upload, responding to website clicks or reacting to sensor readings from an IoT connected device. AWS Lambda can also be used to automatically provision back-end services triggered by custom HTTP requests, and "spin down" such services when not in use, to save resources. These custom HTTP requests are configured in AWS API Gateway, which can also handle authentication and authorization in conjunction with AWS Cognito.
Unlike Amazon EC2, which is priced by the hour, AWS Lambda is metered in increments of 100 milliseconds. Usage amounts below a documented threshold fall within the AWS Lambda free tier - which does not expire 12 months after account signup, unlike the free tier for some AWS services.[4]
See also
- Event-driven architecture
- Serverless Framework
- Lambda function, the concept of an anonymous computing function, not bound to an identity, which gives Amazon Lambda its name
References
- ^ "Amazon introduces Lambda, Containers at AWS re:Invent - SD Times". SD Times. 2014-11-14. Retrieved 2016-06-09.
- ^ Wagner, Tim (15 April 2015). "Running Arbitrary Executables in AWS Lambda". AWS Compute Blog. Retrieved 16 July 2016.
- ^ Bailly, Arnaud (14 June 2016). "abailly/aws-lambda-haskell: Running Haskell code on AWS Lambda". GitHub. Retrieved 16 July 2016.
- ^ "AWS Lambda - Pricing". Amazon Web Services. Retrieved 16 July 2016.