Post on 21-Jan-2018
Meetup #1 - LAWSAWS Lambda - Awesome Photo Contest
1
Qui suis-je ?○ Robin Mizreh
○ Développeur “backend” @Corexpert
○ Plusieurs expériences sur AWS en production
2
AWS Lambda○ Infrastructures managées “SysAdmin Killer”○ Micro services○ Flexible
3
Hello World !
4
Contexte○ Événementiel
○ Éphémère
○ Ressources limitées
5
Awesome Photo Contest○ Upload d’images/photos
○ Traitements sur les images
○ Générateur de mosaïques
6
Les Contraintes○ Pas de gestion de serveurs (serverless)
○ Infrastructure élastique (scalable)
○ Coût minimum par requête
7
Infrastructure
8
Mise en place
○ Un espace de stockage (Bucket S3)
○ Un utilisateur IAM
○ Du code (backend et frontend)
9
Ce que nous allons faire
○ Création d’une API
○ Déploiement
○ Évolution
10
Source de la demo
11
https://github.com/RobinMCXP/laws_awesome_demo
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
12
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
13
Lambda 1 - Get Signature
14
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
15
Lambda 2 - Process
16
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
17
Lambda 3 - Mosaïque
18
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
19
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
20
Fil d’ariane○ Authentification du formulaire d’upload○ Traitement des images○ Générateur de Mosaïques○ Déploiement des services sous forme d’API○ Mise en place de la partie frontend○ Résultat
21
Ce qu’il faut retenir○ Mise en place du Backend rapide et efficace
○ Plus de temps pour la partie frontend
○ Coût estimé pour 1M requêtes, 100K images et 100Go de stockage ~ 18$ par mois
22
Uses Cases○ Processing parallélisables (images, concat PDF…)○ RealTime Analytics○ Batchs○ IoT, “Event Driven” (Bot Slack, Philips Hue, IFTTT...)○ Transformation de flux de données
23
Conclusion
○ Facile à prendre en main○ Coût réduit et uniquement à l’invocation○ Élastique et évolutif○ Moins approprié à de grosses applications contenant
beaucoup de routes et de dépendanceshttps://aws.amazon.com/fr/lambda/
24
Questions ?
25
Merci !
26