Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Hate organising your photos? Try it with 5 tera...
Search
Arto Liukkonen
December 06, 2019
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hate organising your photos? Try it with 5 terabytes
Arto Liukkonen
December 06, 2019
More Decks by Arto Liukkonen
See All by Arto Liukkonen
Serverless superpowers for frontend developers
artoliukkonen
0
120
Other Decks in Programming
See All in Programming
contenteditable と日本語入力に向き合う
colorful12
0
200
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
カツオ、ご期待ください
suneo3476
0
190
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
Next.js: The final boss of Web Performance
guaca
0
250
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
A designer walks into a library…
pauljervisheath
211
25k
Tell your own story through comics
letsgokoyo
1
1.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Cult of Friendly URLs
andyhume
79
7k
Accessibility Awareness
sabderemane
1
250
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Transcript
HATE ORGANIZING YOUR PHOTOS?
Hi, I’m Arto
Hi, I’m Eija
image: Freepik.com Hi, I’m generic customer / co-worker
...also Arto
WHEN WAS THE LAST TIME YOU WENT THROUGH YOUR PHOTOS?
None
None
None
None
None
None
None
None
None
ARTO LIUKKONEN Full-stack developer Serverless (AWS) + ReactJS for ~5
years Live in Jyväskylä, Finland Work at Nordcloud (recruiting in 10 countries) “
Cheap & scaling backup solution? Consider it done! “
BUSINESS REQUIREMENTS • Easy to use • Cheap ◦ 10-20€/month
• Durable storage • Photo browser “
Copy files to home NAS CLOUD BACKUP Cloud backup
Let’s just use Google Drive!
None
... Dropbox!
None
... S3 Bucket!
0.023$/Gb/month Total ~115e/month AWS S3
No thumbnails from RAWs Galleries are hard to browse Not
magical enough 🦄 ...but first, that 5TB RAW backup “
0.00099$/Gb/month Total ~5$/month AWS S3 GLACIER DEEP ARCHIVE
AWS S3 Glacier Deep Archive + Cheap + Unlimited storage
- Retrieval price 0.02€/Gb - Retrieval time +12 hours “
Two ways to Glacier - Glacier Vault • aws glacier
create-vault • Usage through Glacier API • Vault lock can prevent object delete even from root user “
Two ways to Glacier - S3 API • aws s3
cp --storage-class=GLACIER ... • Usage through S3 API • Can also move using Lifecycle rules • ...more of this later “
Magic Copy files to home NAS CLOUD BACKUP 2.0 Raw
files in S3 Magic Photo browser ✅
None
Upload RAW to S3 Standard IA EXTRACTING JPG FROM RAW
Extract PreviewImage with exiftool Copy EXIF with exiftool Resize to 2000px with ImageMagick Lifecycle move RAW to Glacier after ~2 days
Previews from RAW require native binaries Lambda layers could do
the job ImageMagick layer is available ...anyone got exiftool working? “
Raspberry Pi to the rescue! “
None
None
0.023$/Gb/month Total ~1$/month AWS S3 (2000px previews)
Raspberry Pi resize & sync Raw files in S3 Copy
files to home NAS CLOUD BACKUP 2.0 Magic Photo browser ✅✅
None
AWS Rekognition • Face recognition ◦ Find same person from
different photoshoots • Object & scene recognition ◦ Browse photos by occasion ◦ Weddings, cooking, animals, etc “
None
None
None
None
None
FUN FACT: Rekognition ops per sec quotas! “
None
1$/1000 images & run two times per image ...quite a
lot, but luckily only once AWS REKOGNITION (free tier 5000 per month)
Copy files to home NAS SO HOW DOES THE SOLUTION
LOOK? Raspberry Pi resize & sync AWS Rekognition AWS Lambda AWS DynamoDB Photo browser (Amplify, ReactJS)
RPi with HDD Rekognition & storage Gallery browser
DEMO TIME!
AND THAT’S NOT ALL!
Finished & tagged photos to S3 PORTFOLIO WEBSITE S3 trigger
Lambda Object metadata stored to DynamoDB www.eijahelena.com
Finished & tagged photos to S3 NEXT STEP: WEBSHOP S3
trigger Lambda Watermark images? Password protected galleries? Stripe?
5Tb of raws: 5$/month Rekognition: 0-5$/month 2000px previews: 1$/month DynamoDB,
traffic, Lambda: ~0.5$/month Time spent: priceless TOTAL COST
THANKS! @artoliukkonen www.arto.dev