SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
#DevoxxFR
Consul @
Criteo
Pierre Souchay
@vizionr
pierresouchay
1
des machines un peu,
des Services beaucoup
du Service Mesh bientôt
#DevoxxFR
Plan
2
Évolution de la découverte de services
Consul c’est quoi ?
Les challenges
Le Service Mesh
#DevoxxFR 3
Découverte de services,
Un peu d’histoire
#DevoxxFR
SOA début 2000’s
4
3-tier (Web/App/DB)
Service Façade
EJBs / Spring
Bus of messages
#DevoxxFR
2010’s Services Multiplication
5
#DevoxxFR
Les machines,
c’est nul
donnez-nous des
services
6
#DevoxxFR
Stratégie #0
7
Répartition par DNS
Problème TTL
Ports statiques en A/AAAA
Solution possible: SRV records, mais peu de support
#DevoxxFR
Strategie #1
8
Déclare le µService come VIP
HaProxy gère résilience
Machines cibles statiques (GIT + DNS)
#DevoxxFR
Stratégie #2
9
Bibliothèques de Service-Mesh
• Stubby (Google)
• Hysterix (Netflix)
• Finagle (Twitter)
• ClientSideLB (Criteo)
#DevoxxFR
ServiceMesh pour tous?
10
GOOD:
Trafic Est-Ouest performance, réduction latence
BAD
Qu’est-ce qu’un service sain?
Pilotage? Zookeeper, MyDB, etcd…
UGLY
Un langage supporté
#DevoxxFR
2014: Consul
11
#DevoxxFR
Qu’apporte Consul?
12
Pas de SPOF
Orienté Services / DC aware
Statut des services/noeuds / MAJ temps réel
Boite à outils (verrous/stockage) distribuée
Simple à intégrer (passerelle DNS)
Repose sur IP donc ouvert
#DevoxxFR 13
Mais tout intégré de manière
raisonnable
Rien de neuf
#DevoxxFR
Challenges @Criteo
• 35k machines / 8DCs
• 3k types des services
• 250k instances de services
• 2.5M req/s
• 170PB+ Hadoop
14
#DevoxxFR
Pourquoi Consul @Criteo ?
15
#DevoxxFR
Les conteneurs
16
Pourquoi ?
Scaler / Démarrer rapidement des instances
Ré-utiliser les machines entre différentes applications
C’est juste pour les €, pas pour le hype
#DevoxxFR
Les conteneurs
17
En quoi c’est difficile ?
MAJ rapide des états
Beaucoup plus d’instances
Beaucoup de notifications / beaucoup d’écritures
#DevoxxFR
Consul à l’échelle
18
RPC query/sec/DC ~1.5k/s (normal) jusqu’à ~9k/s (deploy)
1 change/sec sur un gros service (600 machines)
→ 2k req/sec si 2k observateurs #LaVraieVie
#DevoxxFR
Pull Requests
19
~100 PRs, 70+ merged upstream
~15 PR for features (Service.Meta, weights…)
~30 PR merged for performance (DNS, watches)
~10 PR merged for safety (node registration, memberlist…)
~2 PR fixing security bugs
OSS UI: https://github.com/criteo/consul-templaterb/
#DevoxxFR
Bénéfices nets
20
Bande Passante: de 1Gb/s à 12k/s
CPU de 32CPU 100% à 1/32 CPU 100%
De 3/4 notifs/s à 1 notif/10 min pour 1 service
De 1 incident / 10j à pas d’incident en 5 mois
De outil fragile à base de données de référentiel
#DevoxxFR
Load-Balancing
21
Unification du load balancing
F5 / HaProxy / Service-Mesh
Problème du poids
Effet boule de neige
#DevoxxFR
Inversion de Contrôle
22
Les services exposent des sémantiques
• Je veux du HTTPs
• Je parle Swagger
• Préviens quelqu’un quand je suis à moins de 40% de
dispo
Les outils observent et provisionnent, DB d’infra
#DevoxxFR
Inversion de Contrôle
23
#DevoxxFR
IoC: Meta 2 app
24
Consul Connect
Service Mesh
#DevoxxFR
Architecture SM
26
#DevoxxFR
Vu de près
27
#DevoxxFR
Intentions
28
#DevoxxFR
Q&A / Demos
29

Contenu connexe

Tendances

gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018Carles Sistare
 
Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)
Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)
Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)Daniel Petisme
 
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Publicis Sapient Engineering
 
ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...
ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...
ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...Cyber Security Alliance
 
XebiConFr 15 - À la découverte des mécanismes internes de Cassandra
XebiConFr 15 - À la découverte des mécanismes internes de Cassandra XebiConFr 15 - À la découverte des mécanismes internes de Cassandra
XebiConFr 15 - À la découverte des mécanismes internes de Cassandra Publicis Sapient Engineering
 
ASFA - Architecture cible du projet COLSA
ASFA - Architecture cible du projet COLSA ASFA - Architecture cible du projet COLSA
ASFA - Architecture cible du projet COLSA Frédéric Sagez
 

Tendances (9)

gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
gRPC, ECHANGES A HAUTE FREQUENCE ! DEVOXX 2018
 
5625
56255625
5625
 
Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)
Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)
Construire un Fitbit-like pour chiens et chats (Devoxx France 21/04/2016)
 
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
 
ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...
ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...
ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par...
 
Port numbers
Port numbersPort numbers
Port numbers
 
XebiConFr 15 - À la découverte des mécanismes internes de Cassandra
XebiConFr 15 - À la découverte des mécanismes internes de Cassandra XebiConFr 15 - À la découverte des mécanismes internes de Cassandra
XebiConFr 15 - À la découverte des mécanismes internes de Cassandra
 
ASFA - Architecture cible du projet COLSA
ASFA - Architecture cible du projet COLSA ASFA - Architecture cible du projet COLSA
ASFA - Architecture cible du projet COLSA
 
Windows Server2016 - Episode01 - NanoServer
Windows Server2016 - Episode01 - NanoServerWindows Server2016 - Episode01 - NanoServer
Windows Server2016 - Episode01 - NanoServer
 

Similaire à DevoxxFR 2019: Consul @Criteo

Consul @Criteo - usages et patches
Consul @Criteo - usages et patchesConsul @Criteo - usages et patches
Consul @Criteo - usages et patchesPierre Souchay
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...Publicis Sapient Engineering
 
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
 
Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Loic Ortola
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017AFUP_Limoges
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Projet IPv6 Matrix / Version française intégrale
Projet IPv6 Matrix / Version française intégraleProjet IPv6 Matrix / Version française intégrale
Projet IPv6 Matrix / Version française intégraleOlivier MJ Crépin-Leblond
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !Carles Sistare
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!David Caramelo
 
Brocade - AG France IX - 30 Juin 2011
Brocade - AG France IX - 30 Juin 2011Brocade - AG France IX - 30 Juin 2011
Brocade - AG France IX - 30 Juin 2011France IX Services
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaNicolas Trauwaen
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaIkoula
 
Priorité des flux
Priorité des fluxPriorité des flux
Priorité des fluxbuffy14
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Fabrice Enock
 
Évaluation des performances du réseau 3G : application à la couche réseau
Évaluation des performances du réseau 3G : application à la couche réseauÉvaluation des performances du réseau 3G : application à la couche réseau
Évaluation des performances du réseau 3G : application à la couche réseauAchraf Trabelsi
 

Similaire à DevoxxFR 2019: Consul @Criteo (20)

Consul @Criteo - usages et patches
Consul @Criteo - usages et patchesConsul @Criteo - usages et patches
Consul @Criteo - usages et patches
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
 
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 ...
 
Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)Modern DevOps - kill the bottleneck (part 2/2)
Modern DevOps - kill the bottleneck (part 2/2)
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Projet IPv6 Matrix / Version française intégrale
Projet IPv6 Matrix / Version française intégraleProjet IPv6 Matrix / Version française intégrale
Projet IPv6 Matrix / Version française intégrale
 
M1.3.pdf
M1.3.pdfM1.3.pdf
M1.3.pdf
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Networxx (intro et fin)
Networxx (intro et fin)Networxx (intro et fin)
Networxx (intro et fin)
 
Brocade - AG France IX - 30 Juin 2011
Brocade - AG France IX - 30 Juin 2011Brocade - AG France IX - 30 Juin 2011
Brocade - AG France IX - 30 Juin 2011
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez Ikoula
 
Évolution de la supervision chez Ikoula
Évolution de la supervision chez IkoulaÉvolution de la supervision chez Ikoula
Évolution de la supervision chez Ikoula
 
Priorité des flux
Priorité des fluxPriorité des flux
Priorité des flux
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01
 
Cours réseaux
Cours réseauxCours réseaux
Cours réseaux
 
Évaluation des performances du réseau 3G : application à la couche réseau
Évaluation des performances du réseau 3G : application à la couche réseauÉvaluation des performances du réseau 3G : application à la couche réseau
Évaluation des performances du réseau 3G : application à la couche réseau
 

Plus de Pierre Souchay

HAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxy
HAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxyHAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxy
HAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxyPierre Souchay
 
2019 Lightning Talk: Discovery, Consul and Inversion of Control for the infr...
2019  Lightning Talk: Discovery, Consul and Inversion of Control for the infr...2019  Lightning Talk: Discovery, Consul and Inversion of Control for the infr...
2019 Lightning Talk: Discovery, Consul and Inversion of Control for the infr...Pierre Souchay
 
2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterbPierre Souchay
 
2019 hashiconf seattle_consul_ioc
2019 hashiconf seattle_consul_ioc2019 hashiconf seattle_consul_ioc
2019 hashiconf seattle_consul_iocPierre Souchay
 
2019 05-28 SRE Consul Criteo Meetup
2019 05-28 SRE Consul Criteo Meetup2019 05-28 SRE Consul Criteo Meetup
2019 05-28 SRE Consul Criteo MeetupPierre Souchay
 
HashiCorp User Group Paris: Consul & Inversion of Control for Infrastructure
HashiCorp User Group Paris: Consul & Inversion of Control for InfrastructureHashiCorp User Group Paris: Consul & Inversion of Control for Infrastructure
HashiCorp User Group Paris: Consul & Inversion of Control for InfrastructurePierre Souchay
 
Consul administration at scale
Consul administration at scaleConsul administration at scale
Consul administration at scalePierre Souchay
 

Plus de Pierre Souchay (7)

HAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxy
HAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxyHAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxy
HAProxyConf 2019: Building a Service Mesh at Criteo with Consul and HAProxy
 
2019 Lightning Talk: Discovery, Consul and Inversion of Control for the infr...
2019  Lightning Talk: Discovery, Consul and Inversion of Control for the infr...2019  Lightning Talk: Discovery, Consul and Inversion of Control for the infr...
2019 Lightning Talk: Discovery, Consul and Inversion of Control for the infr...
 
2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb
 
2019 hashiconf seattle_consul_ioc
2019 hashiconf seattle_consul_ioc2019 hashiconf seattle_consul_ioc
2019 hashiconf seattle_consul_ioc
 
2019 05-28 SRE Consul Criteo Meetup
2019 05-28 SRE Consul Criteo Meetup2019 05-28 SRE Consul Criteo Meetup
2019 05-28 SRE Consul Criteo Meetup
 
HashiCorp User Group Paris: Consul & Inversion of Control for Infrastructure
HashiCorp User Group Paris: Consul & Inversion of Control for InfrastructureHashiCorp User Group Paris: Consul & Inversion of Control for Infrastructure
HashiCorp User Group Paris: Consul & Inversion of Control for Infrastructure
 
Consul administration at scale
Consul administration at scaleConsul administration at scale
Consul administration at scale
 

DevoxxFR 2019: Consul @Criteo