clda.co/lambda-‐edge-‐sea.le
AWS Lambda@Edge (Preview)
Serverless & Originless on AWS
4/17/2017
About Me
@alex_casalboni
clda.co/lambda-‐edge-‐sea.le
Computer Science Background
Sr. SoDware Engineer & Web Developer
Cloud Evangelist @ Cloud Academy
Serverless Italy Meetup Co-‐Organizer
Agenda
What is Lambda@Edge?
Benefits and use cases
Preview & GA
My personal experiment
clda.co/lambda-‐edge-‐sea.le
What is Lambda@Edge?
How does it work and how’s it different from AWS Lambda?
clda.co/lambda-‐edge-‐sea.le
AWS Lambda & Regions
us-‐east-‐1
clda.co/lambda-‐edge-‐sea.le
AWS Lambda & Regions
us-‐east-‐1 eu-‐west-‐1
clda.co/lambda-‐edge-‐sea.le
AWS’s CDN & PoPs
70+ PoPs
clda.co/lambda-‐edge-‐sea.le
Amazon CloudFront
StaQc content (web assets, videos, etc.)
Dynamic content (cache)
70+ Edge LocaQons
Custom SSL & domain name
Cache InvalidaQon
AnalyQcs dashboard
Custom origins (e.g. EC2)
Supports cookies & querystrings
clda.co/lambda-‐edge-‐sea.le
Hits/Misses/Errors
clda.co/lambda-‐edge-‐sea.le
Lambda@Edge Architecture
clda.co/lambda-‐edge-‐sea.le
CloudFront Triggers
Viewer Request
Viewer Response
Origin Request
Origin Response
Before cache hit/miss
A8er cache hit/miss
Only if cache miss, before forwarding
Only if cache miss, a8er forwarding
clda.co/lambda-‐edge-‐sea.le
Benefits and use cases
Use cases categorisa@on and analysis
clda.co/lambda-‐edge-‐sea.le
AWS Lambda@Edge Use cases
Request/Response manipulaQon
Dynamic content generaQon
Pure latency opQmizaQon
clda.co/lambda-‐edge-‐sea.le
1. Request/Response manipulaPon
Custom HTTP headers
Adapt to client capabiliQes
Add Qmezone-‐related info
A/B tesQng
URL rewriQng / redirects
EncrypQon at the Edge
clda.co/lambda-‐edge-‐sea.le
2. Dynamic content generaPon *
Custom error pages
Custom signup forms
Opzimized JS code (Polyfill.io)
Dynamic HTML
* Never hit the origin!
clda.co/lambda-‐edge-‐sea.le
3. Pure latency opPmizaPon *
401 errors (if missing auth)
Edge-‐based logging
Custom data validaQon
Custom data transformaQon
* Assuming dynamic origin
clda.co/lambda-‐edge-‐sea.le
Preview & GA
What about Preview limita@ons, GA, and pricing?
clda.co/lambda-‐edge-‐sea.le
LimitaPons (preview only)
Max 50ms
Only 128MB (RAM)
Only 1MB of code
Only Node.js 4.3
Programming model Only 1 trigger
clda.co/lambda-‐edge-‐sea.le
LimitaPons (permanent)
Cold starts
Only Node.js
No VPC
No API Gateway distribuQons
Slow propagaQon (~5min)
No real-‐Qme logging
clda.co/lambda-‐edge-‐sea.le
No DLQ Explicit HTTP convenQons
General Availability (soon!)
HTTP calls / AWS SDK
Dynamic Content!
Be.er (3rd-‐party) monitoring
More RAM, Qme, and storage
clda.co/lambda-‐edge-‐sea.le
MulQple triggers Be.er LocaQon awareness
Lambda@Edge Pricing
$0.60 / 1M calls (requests)
$1.00 / 3M calls (duraQon)
No Free Tier
50ms granularity
clda.co/lambda-‐edge-‐sea.le
Example: 6M calls ~ $5.6
My personal experiment
Finally some code :)
clda.co/lambda-‐edge-‐sea.le
Render dynamic HTML with Lambda@Edge
< origin-‐less demo >
clda.co/lambda-‐edge-‐gist
clda.co/lambda-‐edge-‐demo
clda.co/lambda-‐edge-‐sea.le
Top Related