Serverless Tcl with AWS Lambda
Cyan Ogilvie
Ruby Lane, Inc.
cyan@rubylane.com
What is "Serverless"?
Providing services over the Internet has traditionally involved many infrastructure concerns:
Servers, networks, firewalls, load balancers, operating systems
Designing and provisioning for scale
High-availability
Deployment (without downtime)
Monitoring and alerting
Patching and updates to infrastructure
Backups
Access control
Serverless is a buzzword for making these somebody else's problems
Managing Lambda: Layers
Managing Lambda: Handler Function
Managing Lambda: Memory
Managing Lambda: Metrics
Managing Lambda: Logs
Anatomy of a Pure Serverless Application
Load Balancer configured with a free certificate (auto-renew)
Path handlers map some urls to some set of Lambda functions
Path handlers map static resources to S3
API Gateway with endpoints mapping to Lambda functions to expose a JSON REST API for your service
Cognito for user authentication with federated support (Google, Facebook, etc)
DynamoDB / Aurora serverless for structured data
Cost: ~ $17 / month
Status: Production ready
Ruby Lane lambdas:
1.2 million invocations / month
740k billed GiB seconds / month
~ $6 / month
Availability
Open Source
Will be published soon to Ruby Lane's github page:
https://github.com/RubyLane