Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lambda Image Resizing
Search
stevenjackson
April 21, 2016
Programming
0
78
Lambda Image Resizing
Lunch and Learn - April 2016
stevenjackson
April 21, 2016
Tweet
Share
More Decks by stevenjackson
See All by stevenjackson
Death By Specification
stevenjackson
1
36
Devour The Cloud With Locust Swarms - Hands On Load Testing
stevenjackson
0
75
Looking for Failure
stevenjackson
0
130
Better Software Through Shared Understanding
stevenjackson
0
150
Going to Eleven
stevenjackson
0
68
A Locust Storm Is A Good Thing!
stevenjackson
0
120
Faliing Your Way To Success
stevenjackson
0
88
Death By Specification(cukeup)
stevenjackson
0
140
Failure Lightning Talk
stevenjackson
0
97
Other Decks in Programming
See All in Programming
CSC305 Lecture 05
javiergs
PRO
0
210
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
5
1.5k
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
140
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
760
株式会社 Sun terras カンパニーデック
sunterras
0
250
XP, Testing and ninja testing ZOZ5
m_seki
3
390
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
350
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
360
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
8
5k
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
Model Pollution
hschwentner
1
190
CSC509 Lecture 05
javiergs
PRO
0
300
Featured
See All Featured
Docker and Python
trallard
46
3.6k
Side Projects
sachag
455
43k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Rails Girls Zürich Keynote
gr2m
95
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Faster Mobile Websites
deanohume
310
31k
A Tale of Four Properties
chriscoyier
160
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Transcript
WE DON’T NEED NO STINKING SERVERS IMAGE RESIZING WITH AWS
LAMBDA
The Problem: For the last 6 years, users have been
able to upload any image they like for use in a VizZle lesson 10144 × 8054 pixels 32.6 MB 980 DPI minutes to download
And the app would never show it at that resolution!
Max Page Size: 1920 x 1080 414x329 915x686 944x708
Or the old app Flash “Card” Size: 520 x 390
The Solution: Batch convert all the images! Max Image Size
960x540 680x540 $ convert 1416855261.78270 -size x540
“How many images are there anyway?” –Hey Blinken
None
None
None
“Are you going to download every one from the internet?”
–Al Gore
None
None
“What are we going to do with new uploads?” –Johnny
Five
None
None
“Who is going to maintain that EC2 instance?” –Jeff Bezos
None
None
None
None
None
None
None
None
Or any binary compiled on Amazon Linux!
None
None
None
None
None
None
None
Read/Write S3 Role Type: AWS Lambda Attach Policy: AWSLambdaExecute
None
None
Lambda Interface
None
None
Deployment
Configuration
Testing
Testing
Testing
Image Resizing Gotchas Maintain Aspect Ratios Lossy vs Lossless Lossy
vs Headless Lambda Inception ACLs
Image Resizing Gotchas Maintain Aspect Ratios Lossy vs Lossless Lossy
vs Headless Lambda Inception ACLs
Lambda Gotchas Function runtime is limited to 5 minutes Maximum
of 1.5GB memory Debugging involves waiting for CloudWatch logs to show up
“What else can we do with it?” –Jeff Bezos
None
None
None
None
None
None
None
None
None
None
None