AWS Lambda is a serverless compute service that executes provided code on fully managed infrastructure. It is classified as a Function-as-a-Service (FaaS), which means that everything, except your code, is managed for you.
That enables the many benefits:
Serverless computing allows you to build and run applications and services without thinking about servers. With serverless computing, your application still runs on servers, but all the server management is done by AWS.
- Better Availability
- Better Performance
- No Manual Scaling
- No Patching
- No Wasted Capacity
Additional code that can be loaded into your function without the need to package that code along with your deployment package. This can be really useful if you have a lot of functions that rely on the same dependencies.
Controls the amount of memory a function can use.
Value must be between 128 and 10240 MB.
CPU scales proportional to memory
Controls the amount of time a function can execute for.
Value must be less than 15 minutes.
long-running processes are not suited for Lambda
services listed above are examples only and not a complete list https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html
With serverless applications traditional processes and methods will not work. There are frameworks that exist to solve these types of problems.
Here are my two favorite frameworks:
AWS Serverless Workshops
The Serverless Application Framework (sls)