SlideShare une entreprise Scribd logo
Behind the scenes:
3 startups, 3 stacks techniques
Shared Inboxes Built for Teams
Jeremy Bogatirsky
Front?
• Paris / San Francisco
• YCombinator S14
• Email was made for 1 to 1 communication, email was not made for
team
• Dealing with shared inboxes is painful
• Intuitive collaboration over shared inboxes (Email, Twitter, SMS)
Email client with collaborative features
Front architecture on AWS
• Based on micro services (Node.js)
• Communication through message queues (Redis)
• Relational database (MySQL)
• Caching system (Memcached)
• Long-time persistence (Amazon S3)
OK, now AWS resources
• Amazon EC2
– 20 running instances (Linux)
– 20 security groups
– 3 Elastic Load Balancers
– 3 Elastic IPs
• Amazon Elasticache
– 1 Memcached cluster (2 nodes of 13.5GB RAM)
– 1 Redis replication group
More AWS resources
• Amazon RDS
– 2 instances (MySQL)
• Amazon S3
– 7 buckets in use
• Misc
– 9 IAM users
– 69 records in Amazon Route 53 hosted zone
– 3 web distributions in Amazon CloudFront
– 125 CloudWatch alarms
Overall architecture
APIs
Internet
Amazon
S3
Memcached
Redis
Internet
Workers
Metrics
• 150 000 Emails/SMS/Tweets per day
• Up to 2 500 simultaneous users
• 20 000 000 push notifications per day (socket.io)
• No SLA agreement but you can't afford downtime when delivering
emails/sms/tweets 
Conclusion
• All-in-one cloud
• Flexible
• Scalable friendly
• Not so complicated as it seems at first
• It took minutes to be up and running
Realytics
Leverage the AWS cloud
Custom analytics
engine
+
TV ads Real Time
tracking
+
Data Science
 Exact spot diffusion
timestamp
 Spot position in funnel
 Broadasted spot clues
 Near RT
 High precision
 High granularity
 Ability to tackle specific
media scenario
C u s t o m A n a l y t i c s E n g i n e T V S t r e a m A n a l y s i s
60K + spots
analyzed
200M+
different
profiles
1Mds events
relative to TV
50+
customers
140+
Channels8 countries
Leveraging AWS : API Serving V1
Amazon S3
Route 53 Amazon SQSELB
Leveraging AWS : Middleware V1
On Premises
Amazon SQS
RDS
Issues & Bottlenecks encountered after 1 year
 Data is growing fast (x2 every quarter)
 Inadequate RDBMS design to handle volume / throughput (1TB)
 Computation get slower (from seconds to hours)
 SQS, RDS are getting too expensive
 Multiple risk factors
 Single region (EU-EAST-1)
 Limited HA
 Low security
 …
Leveraging AWS : API Serving V2
KINESISRoute 53
Leveraging AWS : Middleware V2
Amazon S3
On Premises
KINESIS
RDS Dynamo DBRedis
Sébastien MONTEIL
CTO
sebastien@realytics.io
Frédéric ATLAN
fatlan@morea.fr
Etsy - A little Market
Plusieurs millions d’utilisateurs
Une migration transparente et (presque) sans douleur
Vincent Paulin – Technology R&D project manager
@Genokilller
Qui sommes nous ?
Lancé en 2008, place de marchée dédiée au fait-main et à l’artisanat
français.
Lancé en 2011, place de marché dédiée à l’achat de fournitures pour
créer.
Ça donne quoi en chiffres technique ?
– 10 TB d’images
– +200 GB de base de données
• ~ 3500 lectures/seconde
• ~ 350 écritures/seconde
– Cluster Elasticsearch (5 serveurs)
– +20 serveurs au total (frontaux + SQL+ Cache + Varnish,
etc.)
– Jusqu’à 10 deploys/jour
Architecture technique
Vue d’ensemble
Ce que nous avons
Varnish
Apache - PHP
APIs
Nginx
Internal calls
(APIs)
Mais aussi...
Migration
Assets
Assets
Nginx
Comment ?
• Plusieurs TB de données
– Plus de 100 000 dossiers
– 1 dossier = 1 identifiant de vendeur
• Toutes les images de ses produits
dans ce dossier
• Jusqu’à 25 000 fichiers par dossier
Double écriture
Upload
Synchronisation
● Parcours des IDs de vendeurs
● aws cp du dossier vers le bucket Amazon S3
● Update database SQLite
Migration
Databases
Databases
• Plusieurs GB de
données
• Plus de 10 bases
de données
Comment ?
• Dédier un slave pour les backups
– Le verrouiller :
STOP SLAVE;
FLUSH TABLES WITH READ LOCK;
• Bien noter la position du master
SHOW MASTER STATUS;
• Effectuer un dump complet de chaque base de données
• Une fois terminé
UNLOCK TABLES;
START SLAVE;
mysqldump --no-create-info --skip-triggers <database_name> |gzip > <database>_data.sql.gz
mysqldump --no-data <database_name> > <database>_schema.sql
Upload et traitement du dump
Copie du dump sur
Amazon S3
avec AWS CLI
Décompression
Traitement
Intertion
Connecter la nouvelle base de données en
slave
Ce à quoi il faut faire attention
– Vérifier la durée de rétention des bin logs
• Pour le master en production
– Un dump, c’est long
– Le slave doit avoir suffisamment de temps pour se
resynchroniser avec le master
• Pour le slave qui recevra la connexion du serveur RDS en slave
– L’insertion des données peut-être très longue
– Prévoir une instance EC2 suffisamment puissante pour traiter le
dump SQL.
– Prévoir une instance RDS suffisamment puissante pour être
synchronisée avec le slave de production
Des données avec une durée de vie courte ?
• Session
• Autorisation API
• Token utilisateur
• …
Ne perdez pas de temps et d’IOPS avec ces tables
durant la re-synchronisation
Adoptez un schéma de type blackhole jusqu’à la fin
synchronisation.
Merci !
recrutement@alittlemarket.fr
Jeremy Bogatirsky
Lead Developer
Sébastien Monteil
CTO & Co-Founder
Vincent Paulin
Responsible R&D
Inscrivez-vous gratuitement à l’adresse :
aws.amazon.com/summits/paris

Contenu connexe

Tendances

Presentation sparklane aws
Presentation sparklane awsPresentation sparklane aws
Presentation sparklane aws
Sparklane
 
Bdxio spring function avec aws lambda
Bdxio spring function avec aws lambdaBdxio spring function avec aws lambda
Bdxio spring function avec aws lambda
sebastienmoreno
 
Encoding & streaming sur le cloud AWS
Encoding & streaming sur le cloud AWSEncoding & streaming sur le cloud AWS
Encoding & streaming sur le cloud AWS
Amazon Web Services
 
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme EgronXebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
Publicis Sapient Engineering
 
AWS Black Belt Techシリーズ AWS Key Management Service
AWS Black Belt Techシリーズ AWS Key Management ServiceAWS Black Belt Techシリーズ AWS Key Management Service
AWS Black Belt Techシリーズ AWS Key Management Service
Amazon Web Services Japan
 
ProActive Workflows & Scheduling
ProActive Workflows & Scheduling ProActive Workflows & Scheduling
ProActive Workflows & Scheduling
Activeeon
 
20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform
Guillaume Darmont
 
Aerospike を導入してみた話
Aerospike を導入してみた話Aerospike を導入してみた話
Aerospike を導入してみた話
Kazuki Matsuda
 
Aws training overview soitec public
Aws training overview soitec publicAws training overview soitec public
Aws training overview soitec public
Xavier Michallet
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
MSDEVMTL
 
VPS vers IaaS AWS
VPS vers IaaS AWSVPS vers IaaS AWS
VPS vers IaaS AWS
Christophe Chaudier
 

Tendances (11)

Presentation sparklane aws
Presentation sparklane awsPresentation sparklane aws
Presentation sparklane aws
 
Bdxio spring function avec aws lambda
Bdxio spring function avec aws lambdaBdxio spring function avec aws lambda
Bdxio spring function avec aws lambda
 
Encoding & streaming sur le cloud AWS
Encoding & streaming sur le cloud AWSEncoding & streaming sur le cloud AWS
Encoding & streaming sur le cloud AWS
 
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme EgronXebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
 
AWS Black Belt Techシリーズ AWS Key Management Service
AWS Black Belt Techシリーズ AWS Key Management ServiceAWS Black Belt Techシリーズ AWS Key Management Service
AWS Black Belt Techシリーズ AWS Key Management Service
 
ProActive Workflows & Scheduling
ProActive Workflows & Scheduling ProActive Workflows & Scheduling
ProActive Workflows & Scheduling
 
20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform
 
Aerospike を導入してみた話
Aerospike を導入してみた話Aerospike を導入してみた話
Aerospike を導入してみた話
 
Aws training overview soitec public
Aws training overview soitec publicAws training overview soitec public
Aws training overview soitec public
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
VPS vers IaaS AWS
VPS vers IaaS AWSVPS vers IaaS AWS
VPS vers IaaS AWS
 

En vedette

Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganShared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Hazelcast
 
Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014
Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014
Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014
Pierre Gasté
 
Architectures réparties en environnement web
Architectures réparties en environnement webArchitectures réparties en environnement web
Architectures réparties en environnement webAmaury Bouchard
 
Redis keynote
Redis keynoteRedis keynote
Redis keynote
Ryhad Boughanmi
 
Nginx - Serveur HTTP haute performances
Nginx - Serveur HTTP haute performancesNginx - Serveur HTTP haute performances
Nginx - Serveur HTTP haute performancesPascal Armand
 
Nginx
NginxNginx
10 conseils pour booster les performances de votre site sous WordPress
10 conseils pour booster les performances de votre site sous WordPress10 conseils pour booster les performances de votre site sous WordPress
10 conseils pour booster les performances de votre site sous WordPress
Aurélien Denis
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de RedisJEMLI Fathi
 
Introduction à WordPress sous Nginx
Introduction à WordPress sous NginxIntroduction à WordPress sous Nginx
Introduction à WordPress sous Nginx
Maxime Jobin
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
OVHcloud
 
Performance serveur et apache
Performance serveur et apachePerformance serveur et apache
Performance serveur et apache
afup Paris
 
Sécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueSécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risque
Maxime Jobin
 
Methodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPMethodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XP
Nicolas Perriault
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 

En vedette (14)

Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganShared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
 
Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014
Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014
Oubliez les mutualisés, passez simplement aux dédiés ! - Human Talks 2014
 
Architectures réparties en environnement web
Architectures réparties en environnement webArchitectures réparties en environnement web
Architectures réparties en environnement web
 
Redis keynote
Redis keynoteRedis keynote
Redis keynote
 
Nginx - Serveur HTTP haute performances
Nginx - Serveur HTTP haute performancesNginx - Serveur HTTP haute performances
Nginx - Serveur HTTP haute performances
 
Nginx
NginxNginx
Nginx
 
10 conseils pour booster les performances de votre site sous WordPress
10 conseils pour booster les performances de votre site sous WordPress10 conseils pour booster les performances de votre site sous WordPress
10 conseils pour booster les performances de votre site sous WordPress
 
Découverte de Redis
Découverte de RedisDécouverte de Redis
Découverte de Redis
 
Introduction à WordPress sous Nginx
Introduction à WordPress sous NginxIntroduction à WordPress sous Nginx
Introduction à WordPress sous Nginx
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
Performance serveur et apache
Performance serveur et apachePerformance serveur et apache
Performance serveur et apache
 
Sécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueSécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risque
 
Methodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XPMethodologies de Developpement Agiles : Scrum et XP
Methodologies de Developpement Agiles : Scrum et XP
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 

Similaire à Tech Round Table

AWS Paris Summit 2014 - T3 - Architecturer avec AWS pour des millions d'util...
AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'util...AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'util...
AWS Paris Summit 2014 - T3 - Architecturer avec AWS pour des millions d'util...
Amazon Web Services
 
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
Amazon Web Services
 
6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS
Julien SIMON
 
AWS Paris Summit 2014 - T1 - Services de bases de données
AWS Paris Summit 2014 - T1 - Services de bases de donnéesAWS Paris Summit 2014 - T1 - Services de bases de données
AWS Paris Summit 2014 - T1 - Services de bases de données
Amazon Web Services
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
Microsoft Technet France
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
Julien SIMON
 
Sécurite Amazon Web Services
Sécurite Amazon Web ServicesSécurite Amazon Web Services
Sécurite Amazon Web Services
Aurélien Pelletier
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
Riadh MNASRI
 
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Microsoft Décideurs IT
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Microsoft Technet France
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
Microsoft
 
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Nicolas Fonrose
 
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
Amazon Web Services
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
Oxalide
 
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
IBM France PME-ETI
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Christophe Furmaniak
 
noSQL
noSQLnoSQL
noSQL
Klee Group
 

Similaire à Tech Round Table (20)

AWS Paris Summit 2014 - T3 - Architecturer avec AWS pour des millions d'util...
AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'util...AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'util...
AWS Paris Summit 2014 - T3 - Architecturer avec AWS pour des millions d'util...
 
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévuAWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu
 
6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS
 
AWS Paris Summit 2014 - T1 - Services de bases de données
AWS Paris Summit 2014 - T1 - Services de bases de donnéesAWS Paris Summit 2014 - T1 - Services de bases de données
AWS Paris Summit 2014 - T1 - Services de bases de données
 
Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
Sécurite Amazon Web Services
Sécurite Amazon Web ServicesSécurite Amazon Web Services
Sécurite Amazon Web Services
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure PackLe cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
Le cloud-in-a-box avec Cloud Platform System (CPS) et Windows Azure Pack
 
Inf208
Inf208Inf208
Inf208
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
 
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
 
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
 
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...
 
noSQL
noSQLnoSQL
noSQL
 

Plus de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
Amazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Amazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
Amazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Amazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Tech Round Table

  • 1. Behind the scenes: 3 startups, 3 stacks techniques
  • 2. Shared Inboxes Built for Teams Jeremy Bogatirsky
  • 3. Front? • Paris / San Francisco • YCombinator S14 • Email was made for 1 to 1 communication, email was not made for team • Dealing with shared inboxes is painful • Intuitive collaboration over shared inboxes (Email, Twitter, SMS)
  • 4. Email client with collaborative features
  • 5. Front architecture on AWS • Based on micro services (Node.js) • Communication through message queues (Redis) • Relational database (MySQL) • Caching system (Memcached) • Long-time persistence (Amazon S3)
  • 6. OK, now AWS resources • Amazon EC2 – 20 running instances (Linux) – 20 security groups – 3 Elastic Load Balancers – 3 Elastic IPs • Amazon Elasticache – 1 Memcached cluster (2 nodes of 13.5GB RAM) – 1 Redis replication group
  • 7. More AWS resources • Amazon RDS – 2 instances (MySQL) • Amazon S3 – 7 buckets in use • Misc – 9 IAM users – 69 records in Amazon Route 53 hosted zone – 3 web distributions in Amazon CloudFront – 125 CloudWatch alarms
  • 9. Metrics • 150 000 Emails/SMS/Tweets per day • Up to 2 500 simultaneous users • 20 000 000 push notifications per day (socket.io) • No SLA agreement but you can't afford downtime when delivering emails/sms/tweets 
  • 10. Conclusion • All-in-one cloud • Flexible • Scalable friendly • Not so complicated as it seems at first • It took minutes to be up and running
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Custom analytics engine + TV ads Real Time tracking + Data Science
  • 20.  Exact spot diffusion timestamp  Spot position in funnel  Broadasted spot clues  Near RT  High precision  High granularity  Ability to tackle specific media scenario C u s t o m A n a l y t i c s E n g i n e T V S t r e a m A n a l y s i s
  • 21. 60K + spots analyzed 200M+ different profiles 1Mds events relative to TV 50+ customers 140+ Channels8 countries
  • 22. Leveraging AWS : API Serving V1 Amazon S3 Route 53 Amazon SQSELB
  • 23. Leveraging AWS : Middleware V1 On Premises Amazon SQS RDS
  • 24. Issues & Bottlenecks encountered after 1 year  Data is growing fast (x2 every quarter)  Inadequate RDBMS design to handle volume / throughput (1TB)  Computation get slower (from seconds to hours)  SQS, RDS are getting too expensive  Multiple risk factors  Single region (EU-EAST-1)  Limited HA  Low security  …
  • 25. Leveraging AWS : API Serving V2 KINESISRoute 53
  • 26. Leveraging AWS : Middleware V2 Amazon S3 On Premises KINESIS RDS Dynamo DBRedis
  • 28. Etsy - A little Market Plusieurs millions d’utilisateurs Une migration transparente et (presque) sans douleur Vincent Paulin – Technology R&D project manager @Genokilller
  • 29. Qui sommes nous ? Lancé en 2008, place de marchée dédiée au fait-main et à l’artisanat français. Lancé en 2011, place de marché dédiée à l’achat de fournitures pour créer.
  • 30. Ça donne quoi en chiffres technique ? – 10 TB d’images – +200 GB de base de données • ~ 3500 lectures/seconde • ~ 350 écritures/seconde – Cluster Elasticsearch (5 serveurs) – +20 serveurs au total (frontaux + SQL+ Cache + Varnish, etc.) – Jusqu’à 10 deploys/jour
  • 32. Ce que nous avons Varnish Apache - PHP APIs Nginx Internal calls (APIs)
  • 36. Comment ? • Plusieurs TB de données – Plus de 100 000 dossiers – 1 dossier = 1 identifiant de vendeur • Toutes les images de ses produits dans ce dossier • Jusqu’à 25 000 fichiers par dossier
  • 38. Synchronisation ● Parcours des IDs de vendeurs ● aws cp du dossier vers le bucket Amazon S3 ● Update database SQLite
  • 40. Databases • Plusieurs GB de données • Plus de 10 bases de données
  • 41. Comment ? • Dédier un slave pour les backups – Le verrouiller : STOP SLAVE; FLUSH TABLES WITH READ LOCK; • Bien noter la position du master SHOW MASTER STATUS; • Effectuer un dump complet de chaque base de données • Une fois terminé UNLOCK TABLES; START SLAVE; mysqldump --no-create-info --skip-triggers <database_name> |gzip > <database>_data.sql.gz mysqldump --no-data <database_name> > <database>_schema.sql
  • 42. Upload et traitement du dump Copie du dump sur Amazon S3 avec AWS CLI Décompression Traitement Intertion
  • 43. Connecter la nouvelle base de données en slave
  • 44. Ce à quoi il faut faire attention – Vérifier la durée de rétention des bin logs • Pour le master en production – Un dump, c’est long – Le slave doit avoir suffisamment de temps pour se resynchroniser avec le master • Pour le slave qui recevra la connexion du serveur RDS en slave – L’insertion des données peut-être très longue – Prévoir une instance EC2 suffisamment puissante pour traiter le dump SQL. – Prévoir une instance RDS suffisamment puissante pour être synchronisée avec le slave de production
  • 45. Des données avec une durée de vie courte ? • Session • Autorisation API • Token utilisateur • … Ne perdez pas de temps et d’IOPS avec ces tables durant la re-synchronisation Adoptez un schéma de type blackhole jusqu’à la fin synchronisation.
  • 47. Jeremy Bogatirsky Lead Developer Sébastien Monteil CTO & Co-Founder Vincent Paulin Responsible R&D
  • 48. Inscrivez-vous gratuitement à l’adresse : aws.amazon.com/summits/paris