What is AWS Lambda?
AWS Lambda was first introduced by AWS in 2014 and is still, even today, sending shockwaves through the IT and progamming community. The original platform that started the concept of "serverless" websites and applications, Lambda is a powerful tool that allows microsecond usage of compute time - the ultimate on-demand computing. You can watch the original announcement of the platform by AWS CTO Werner Vogels at re:Invent here:
Applications of AWS Lambda
There are an endless number of useful functions you can leverage AWS Lambda for. It can be used on a cron to run an EBS snapshot backup routinely as well as snapshotting RDS and replicating snapshots to another region to facilitate disaster recovery. Lambda can also be built to run repeated jobs such as resizing images, reacting to AWS CloudWatch metrics and actioning accordingly (rebooting systems with pegged CPU, etc), or hitting an analytics API and loading the parsed data into a data warehouse. It can also be used as a backend service for mobile applications that need to call databases, post data, update files, but this might be better served by AWS Amplify.
Because you only call it when you need it methods for invoking Lambdas are key. Invocation methods currently include:
- CloudWatch alerts
- Cron style invocation
- S3 triggers
- API Gateway triggers
Other methods exist and a full list of AWS services that can act as Lambda triggers can be found here.
The languages supported in AWS Lambda at the time of this writing include:
To keep up to speed with supported languages for Lambda you can refer to the AWS Lambda FAQ.
The AWS Compute Ecosystem
AWS Lambda is part of the broader AWS Compute ecosystem, which includes:
- Amazon Elastic Compute Cloud (EC2)
- Amazon Lightsail
- Amazon Elastic Container Service (ECS)
- Amazon Elastic Container Registry (ECR)
- Amazon Elastic Kubernetes Service (EKS)
- AWS Lambda
- AWS Fargate
- AWS Outposts
- AWS Wavelength
- VMware Cloud on AWS
- AWS Local Zones
- Amazon EC2 Spot Instances
- Amazon EC2 Autoscaling
- AWS Batch
- AWS Compute Optimizer
- AWS Elastic Beanstalk
- EC2 Image Builde