This document provides an overview of AWS Lambda, a serverless compute service. It defines what serverless means (cloud provider manages servers rather than the user), describes Lambda's event-driven model and supported runtimes/languages. Use cases are given for image thumbnail generation. Limits include maximum function duration and package size. Pricing is outlined as free tier plus $0.20 per 1 million requests. The presenter provides a demo of Lambda deployment with Terraform.
8. Flow
Changes in data state
Request to endpoints
Changes in resource state
Event source Function Services (anything)
Change/Add data state
Trigger AWS resource
Call HTTP endpoint
Your Code
9. Events
Event Sources
Event sources that trigger AWS Lambda
• Amazon S3
• Amazon DynamoDb
• Amazon Kinesis
• Amazon API Gateway (REST API)
• On Demand via SDK
• ...
approx. 16-17 services
14. Use Case
E-Mail DeskPro Middleware TargetProcess
API Gateway
Create bug ticket
Close ticket
Create ticket Webhook
Event source Lambda
DeskPro -> TargetProcess (fully automated)
15. Limits
Maximum execution duration per request
=> 300 seconds
Alternative S3 Storage
Lambda function deployment package size (.zip/.jar file)
=> 50 MB
100 concurrent executions
1.000 invokes per second
Increases available via AWS customer service
16. Costs
1 million requests and
400,000 GB-second of compute time
every month, every customer for free
$0.20 per 1 million requests
($0.0000002 per request)
Never pay for idle
Werner Vogels, CTO, Amazon.com, AWS re:Invent 2015: No server is easier to manage than no server
16-17 AWS Services mit Events
More testable and robust
Limits
Statelessness is powerful because it allows the platform to quickly scale
child_processes - andere binaries
Image Microservice
DeskPro = HelpDesk Software
Aber auch bei AWS ist nicht alles grenzenlos, somit gibt es auch hier ein paar Limits
Die wichtigsten sind dabei ...
... das die Ausführdauer pro Request maximal nur 5min betragen darf, danach wird die Execution als Fehler abgebrochen
NEXT
... und das die Funktion (inkl. aller optionalen Dependencies) max. nur 50MB groß ein darf (Java packages z.B)
NEXTaber hier kann man dann ganz bequem einfach auf S3 umsteigen und der Lambda sagen das das Package halt in S3 liegt
NEXT100 concurrent executuons
1000 invokes pro sekunde
NEXT
Kann beides beim AWS Customer service erhört werden lassen
Nennenswert sind noch die Kosten die bei Lambda entstehen „können“
Die Betonung hier liegt auf „können“, den, AWS bietet hier PRO MONAT & pro ACCOUNT 1 Millionen Request (also Executions) und 400.000 GB/s Datenverarbeitungszeit die kostenlos sind
NEXT
Erst DANACH fallen kosten an und die betragen gerade mal für 1 million requests 20 cents (also $0.0000002 pro request)
NEXT
Das bedeutet also auch das keine Kosten entstehen wenn es keine requests (trigger Aufrufe) gibt