Pillars of serverless

  1. Lambda
  2. DynamoDB
  3. Cognito
  4. API Gateway
  5. SAM

I. Introduction

  1. Virtual functions — no servers to manage.

  2. Limited by time — short executions (15 mins max).

  3. Run on-demand, scaling is automated.

  4. Easy pricing

    1. Pay per request and compute time
    2. Free tier includes 1 million lambda requests and 400,000 GBs of compute time.
  5. Integrated with the whole AWS suite of services and popular languages (except Docker).

  6. Easy monitoring with CloudWatch.

  7. Each Lambda function receives 500MB of non-persistent disk space in its own /tmp directory.

  8. Easy to get more resources per function (up to 3GB RAM).

  9. AWS Lambda allows you to use normal language and operating system features, such as creating additional threads and processes.

  10. You can automate your serverless application’s release process using AWS CodePipeline and AWS CodeDeploy.

  11. You can use AWS Step Functions to coordinate a series of AWS Lambda functions in a specific order.

  12. You can enable your Lambda function for tracing with AWS X-Ray. This will provide you with insights such as Lambda service overhead, function init time, and function execution time.

  13. Execution

    1. Memory allocation: 128 MB - 3 GB (in increments of 64 MBs)
    2. Maximum execution time: 900s (15 mins)
    3. Env variables (up to 4 KB)
    4. Disk capacity in the "function container" (/tmp): 512 MB
    5. Concurrency execution: 1000 (can be increased)