Skip to content

AWS Lambda Overview

What is AWS

  • AWS is a Cloud Provider
  • They provide you with servers and services that you can use on demand and scale easily.
  • AWS has revolutionized IT over time
  • AWS powers some of the biggest websites in the world (for example Netflix)
  • Recently (Nov 2014) they introduced AWS Lambda

Why AWS Lambda

EC2

  • Virtual Servers in the Cloud
  • Limited by RAM and CPU
  • Continuously running
  • Scaling means intervention to add / remove servers

Lambda

  • Virtual functions - no servers to manage.
  • Limited by time - short executions
  • Run on-demand
  • Scaling is automated

Benefits of AWS Lambda

  • Easy pricing
    • Pay per request and compute time
    • Free tier of 1,000,000 AWS Lambda requests and 400,000 GBs of compute time
  • Integrated with the whole AWS Stack
  • Integrated with many programming languages
  • Easy monitoring through AWS CloudWatch
  • Easy to get more resources per functions (up to 1.5GB of ram)
  • Increasing RAM will also improve CPU and network

AWS Lambda Languages

  • aws-nodejs
  • aws-python
  • aws-python3
  • aws-groovy-gradle
  • aws-java-gradle
  • aws-java-maven
  • aws-scala-sbt
  • aws-csharp

AWS Lambda Integrations - main ones

  • API Gateway
  • Kinesis
  • DynamoDB
  • AWS S3
  • AWS IoT
  • CloudWatch Events
  • CloudWatch Logs
  • AWS SNS
  • AWS Congnito

Example: thumbnail creation

  • A new image gets uploaded to S3
  • Triggers AWS Lambda Function that creates a thumbnail
  • New thumbnail gets uploaded to S3
  • Metadata uploaded into DynamoDB