AWS Lambda

  • Can get up to 10GB of RAM per function.
    • If you increase the RAM, it will also improve CPU and Network.
  • Have a lot of language support and custom runtime api.
  • By default support
    • Node js
    • Python
    • Java
    • C#
    • Golang
    • Ruby
  • Lambda Container Image

Pricing

  • Pay per calls
    • first 1,000,000 requests are free
    • $0.2 per 1 million requests thereafter
  • Pay per duration
    • 400,000 GB seconds of compute time per month per month for free
      • 400,000 seconds if function is 1GB RAM
      • 3,200,000 seconds if using 128 MB RAM
      • after that $1 for 600,000 GB seconds

Invoking via HTTPS (Hypertext transfer protocol secure)

Some best Practices

  • Perform heavy-duty work outside of your function handler. For example
    • Connect to database outside
    • Initialise AWS SDK
    • Pull in dependencies
  • Use environments variables
  • Minimize deployment package size
    • Break down function if needed
    • Use Layers if needed
  • Avoid recursive code, don't have the function call itself