AWS Lambda and the Serverless Cloud

AWS Lambda evolution and re:Invent 2015 news

Tim Wagner – general manager of AWS Lambda and AWS IoT at AWS – talked about how AWS Lambda – and the serverless cloud it spawned – have evolved since the service’s 2014 launch.

What AWS Lambda is and how it’s been evolving

First of all, AWS Lambda allows you to NOT think about servers. Which means you no longer have to deal with over/under capacity, deployments, scaling and fault tolerance, OS or language updates, metrics, and logging.

On the other hand, AWS Lambda lets you painlessly drop in your own code, run code in parallel, create backends, develop event handlers and data processing systems, and never pay for idle time.

In practice, AWS Lambda introduced a new serverless world, providing an event-driven scale with the flexibility of sub-second billing.

Back in November 2014, only S3, Amazon DynamoDB, and Kinesis were available for Lambda functions. Since then, plenty of other services have been integrated, like CloudFormation, SWF, CloudTrail, SES, Cognito, API Gateway, SNS, and CloudWatch. In this hands-on lab you learn how we can use the log stream functionality of CloudWatch to monitor the execution of a Lambda function.

Initially, only Node.js was supported, and Lambda functions had to be coded in JavaScript. Later, AWS added CORS support, mobile backends capabilities, sync calls and resource policies. Since this summer, new features and options have been available: Java support, S3 uploads, Tokyo region, and Alexa skills.

Blueprints from AWS partners have recently begun appearing to help you get started quickly by using sample configurations of events sources and Lambda functions.

AWS Lambda Cloudwatch Logs Processing

What’s new in AWS Lambda?

Werner Vogels highlighted recent Lambda-related updates during his second re:Invent Keynote in Las Vegas. Here are the new features Lambda now offers:

  • SES inbound rules for custom spam/virus checks.
  • CloudWatch Log processing to scan, audit, or index log entries in near real-time.
  • Python 2.7 support in all SDKs, CLI, and Console, including the latest SDK (version 1.1.3 of boto3).
  • Long-running functions  – from only 60 seconds up to 5 minutes.
  • Resource sizing between 23 power levels: compute price scales with the power level, the duration can range from 100ms to 5min. Keep in mind that AWS Free Tier includes 1M free requests and 400KGB-s/month.
  • Scheduled functions to enable periodic execution with a 5 min granularity (or by using cronjob syntax). For example, you could easily poll SQS or other data sources. CLI and SDK support will be available later this year.
  • Functions Versioning by using incremental integer versions, plus $LATEST and custom aliases, so you get total flexibility with versioning (both on API Gateway and Lambda).
  • IoT backends, to easily develop backends for your IoT applications.
  • VPC support for Lambda execution inside your own VPC. There is a new VpcConfig function configuration parameter. The execution takes just a bit longer, but you can finally access VPC resources such as RDS databases and local Memcached instances.

AWS Lambda versioning aliases
We are definitely looking forward to getting our hands of whatever is coming next for Lambda. If you want to deepen your understanding of how Lambda works, try Cloud Academy’s Understanding AWS Lambda course and read article AWS Lambda: an introduction and practical walkthrough.

Cloud Academy