4. @ogeisser#Devoxx #AWS-Lambda
Your Code
Language Runtimes
• Node.js (0.10.36)
• Java 8
• Python 2.7
Execution Environment
• Amazon Linux AMI
• Your code has complete control
• Threads, Sockets, Filesystem, etc.
• Requirement: your code should be stateless
5. @ogeisser#Devoxx #AWS-Lambda
Programing Model
Concepts with language specific implementations
• Stateless function handler
• Event data as parameter
• Context support
• Logging support
Deployment
• Package (ZIP file) your code & libs
• Upload directly to Lambda or to S3
10. @ogeisser#Devoxx #AWS-Lambda
AWS Services triggering Lambda
AWS Service Push vs. Pull Event vs. Req/Resp
S3 Push Event
Dynamo DB Pull Event
Kinesis Pull Event
SNS Push Event
SES Push Event
Cognito Push Req/Resp
Cloud Watch Push Event
Cloud Formation Push Req/Resp
Alexa Push Req/Resp
11. @ogeisser#Devoxx #AWS-Lambda
On-Demand Invocation
Lambda API
• Directly call the Lambda function via the API
AWS API Gateway
• Maps API Gateway calls to Lambda function invocations
Scheduled
• Fixed rate and CRON expression support
14. @ogeisser#Devoxx #AWS-Lambda
Miscellaneous Remarks
Container Model is not documented
• There is a „container model“ behind the scenes
• It‘s not documented
• But „Freezing“ and „Thawing“ of containers is noticeable
„Cold“ Start Up Time
• There are language dependent different „cold“ startup times
• Java is much slower than Node.js
• This has a cost impact