18 Years in Business
10 Years @ Java2Days
Published Author
Software Consultants
Invented the Internet
To our success!
Backend as a Service (BaaS)
Function as a Service (FaaS)
Event driven
Runs user functions
Auto scaled and provisioned
Precise costs
Stateless
In a PaaS environment, scaling is still your problem, with FaaS it's handled.
S3 | DynamoDB | Kinesis Data Streams | SNS |
SES | SQS | Cognito | CloudFormation |
CloudWatch Logs | CloudWatch Events | CodeCommit | Scheduled Events |
AWS Config | Alexa | Lex | API Gateway |
AWS IoT Button | CloudFront | Kinesis Data Firehose | Invoke Lambda Function On Demand |
event – event data passed to handler
context – runtime information to your handler. Type is LambdaContext
Handler can return a value, depends on invocation type
Implementation using standard Python
import json
def handler(event, context):
pass
aws lambda update-function-code --function-name getStocks --zip-file fileb://lambda.zip
Lambda is just plain function call, so nosetests with asserts would work fine.
python-lambda-local is a library for running a lambda locally
https://pypi.org/project/python-lambda-local/
python-lambda-local -f handler -t 5 test.py event.json
API Gateway, Kinesis, DynamoDB, DynamoDB Streams, Elasticsearch, S3, Firehose, Lambda, SNS, SQS, Redshift, ES (Elasticsearch Service), SES, Route53, CloudFormation, CloudWatch, SSM, SecretsManager
Extension to CloudFormation, makes it easier to deploy without having to understand CF templates
Apex https://apex.run -- offers support for Clojure and Rust
Chalice https://github.com/aws/chalice
Serverless https://serverless.com/
Mystic Coders, LLC