Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lambda Image Resizing
Search
stevenjackson
April 21, 2016
Programming
0
80
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
37
Devour The Cloud With Locust Swarms - Hands On Load Testing
stevenjackson
0
79
Looking for Failure
stevenjackson
0
140
Better Software Through Shared Understanding
stevenjackson
0
160
Going to Eleven
stevenjackson
0
74
A Locust Storm Is A Good Thing!
stevenjackson
0
130
Faliing Your Way To Success
stevenjackson
0
92
Death By Specification(cukeup)
stevenjackson
0
140
Failure Lightning Talk
stevenjackson
0
98
Other Decks in Programming
See All in Programming
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
190
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
150
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
15k
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
12k
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
6
2.7k
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
150
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
5
2.7k
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
13
5.5k
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
14k
dnx で実行できるコマンド、作ってみました
tomohisa
0
120
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
Building AI with AI
inesmontani
PRO
1
420
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Thoughts on Productivity
jonyablonski
73
4.9k
GitHub's CSS Performance
jonrohan
1032
470k
Context Engineering - Making Every Token Count
addyosmani
9
440
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Why Our Code Smells
bkeepers
PRO
340
57k
Faster Mobile Websites
deanohume
310
31k
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