SlideShare une entreprise Scribd logo
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 1
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
29.01
2019
ESPACE ST
MARTIN - PARIS
#LaDuckConf
Transactions distribuées
Avenue Mon-Repos 14 > 1005 LAUSANNE > SUISSE > WWW.OCTO.COM
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 4
Bertrand
LE FOULGOC
Consultant
@OCTOSuisse
+41 79 138 01 22
blefoulgoc@octo.com
Julien
STAINER
Consultant
@OCTOSuisse
+41 75 418 79 34
jstainer@octo.com
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 4
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 5
Sommaire
◉ Définition
◉ Tolérance aux fautes
< Idempotence
< Files persistantes
◉ Patterns
< Chorégraphie
< Orchestration
◉ Tests
< Chaos
< Robustesse
THERE IS A BETTER WAY
Définition
6
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 7
Transaction distribuée (dans une architecture microservice)
< Un événement unique entraîne la mutation de deux ou
plusieurs sources de données distinctes qui ne peuvent
pas être validées atomiquement.
< Les transactions distribuées dans les microservices sont à
éviter autant que possible.
< L'atomicité cède la place à la cohérence éventuelle
Une définition
http://www.grahamlea.com/2016/08/distributed-transactions-microservices-icebergs/
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 8
Théorème de CAP (Brewer)
Chaque lecture reçoit la donnée
la plus récente ou une erreur
Chaque requête reçoit une réponse (non-erreur)
Le système fonctionne malgré la chute ou
le retard des messages
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 9
CALM Theorem
◉ Consistency and logical monotonicity
◉ Bloom language
◉ Disorderly distributed programming
THERE IS A BETTER WAY
Tolérance
aux fautes
10
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
< Prenons le cas d’un système de réservation de voyages
en Suisse, composé de trois services :
+ Un service permet la réservation de billets d’avion
+ Un autre la location de voitures
+ Le dernier permet de choisir un chalet et des skis
11
Problèmes – un cas concret
SCA
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 12
Problèmes – concentrons-nous sur un service
S
< Avec une approche naïve, sans file persistante
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 13
Problèmes – concentrons-nous sur un service
S
< Avec une approche naïve, sans file persistante
< Si le service tombe en vol, on perd la transaction, l’utilisateur attend, et reçoit un message
d’erreur
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 14
Problèmes – concentrons-nous sur un service
< Avec une file persistante
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 15
Problèmes – concentrons-nous sur un service
< Avec une file persistante
< Si le service tombe entre deux messages, pas de problème
S
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 16
Problèmes – concentrons-nous sur un service
< Avec une file persistante
< Si le service tombe entre deux messages, pas de problème
< Si le service tombe pendant le traitement d’un message, on perd la transaction
S
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 17
Problèmes – concentrons-nous sur un service
< Avec une file persistante, en supprimant uniquement une fois le message traité
< Si le service tombe pendant le traitement, pas de problème ?
S
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 18
Problèmes – concentrons-nous sur un service
< Avec une file persistante, en supprimant uniquement une fois le message traité
< Si le service tombe pendant le traitement, pas de problème ?
< Uniquement si le fait de rejouer la transaction n’est pas risqué, on parle d’idempotence
S
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 19
Problèmes – avec deux services
< Nous choisissons le fonctionnement en série
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 20
Problèmes – avec deux services
< Nous choisissons le fonctionnement en série
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 21
Problèmes – avec deux services
< Nous choisissons le fonctionnement en série
C
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 22
Problèmes – avec deux services
< Nous choisissons le fonctionnement en série
< Que se passe-t-il si mon deuxième service ne peut pas effectuer la réservation ?
C
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 23
Problèmes – avec deux services
< Nous choisissons le fonctionnement en série
< Que se passe-t-il si mon deuxième service ne peut pas effectuer la réservation ?
< Il faut traiter le cas, soit manuellement, soit automatiquement.
C
THERE IS A BETTER WAY
Patterns
24
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
< Pour chaque sous-transaction, nous définissons une
sous-compensation associée.
< Les sous-transactions et sous-compensations sont
idempotentes
< Attention aux transactions sans compensations
25
Patterns - Chorégraphie
SCA
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Patterns - Chorégraphie
C AS
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Patterns - Chorégraphie
C AS
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Patterns - Chorégraphie
S
C AS
C
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Patterns - Chorégraphie
C-1
C AS
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Naturel, instinctif
Simple, facile à comprendre
Effort minimal
Aucun couplage à d'autres composants
Idempotent
Robuste
Complexité potentiellement exponentielle
Les dépendances cycliques sont difficiles à
diagnostiquer
Les tests de bout en bout sont difficiles
30
Patterns - Chorégraphie
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
< Si le service en amont ne gère pas le séquencement et
que l’on lance tout en parallèle:
+ Comment compenser une transaction qui n’a pas eu lieu ?
+ Combien de temps garde-t-on le message ?
+ …
31
Patterns – passage en parallèle, montée à l’échelle
SCA
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
< Un journal des transactions est maintenu
32
Patterns - Orchestrateur
C AS
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
< Un journal des transactions est maintenu
< Les compensations sont jouées en cas d’erreur
33
Patterns - Orchestrateur
C AS C C-1
S
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
< Un journal des transactions est maintenu
< Les compensations sont jouées en cas d’erreur
34
Patterns - Orchestrateur
C AS C C-1
S
< L’introduction de parallélisme doit être justifiée, car ce choix augmente fortement la complexité
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
◉ « Smart end-points, dumb pipes »
C’est juste un service
il est idéalement interne à l'équipe
35
◉ « Smart pipes »
◉ Découpe un message en sous-messages
Un service pour les gouverner tous...
Géré par une équipe, implique les autres
Patterns - Orchestrateur
On dirait un ESB !?
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
◉ « Smart end-points, dumb pipes »
C’est juste un service
Il est idéalement interne à l'équipe
36
◉ « Smart pipes »
◉ Découpe un message en sous-messages
Un service pour les gouverner tous...
Géré par une équipe, implique les autres
Patterns - Orchestrateur
On dirait un ESB !?
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Pas de dépendances cycliques
Simplifie les services
Plus facile à tester
Complexité linéaire
Idempotence
Résistance aux fautes
Logique décentralisée (! ESB)
Point de défaillance unique (redondance)
Couplage plus fort
37
Patterns - Orchestrateur
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 38
Patterns – Chorégraphie vs Orchestrateur
THERE IS A BETTER WAY
Des
défis ?
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
◉ La disponibilité du système est le produit des disponibilités
des services
< 99.99% disponible signifie 53 minutes d'arrêt
< Devient 8 à 9 heures par an une fois combiné
◉ Les arrêts vont arriver, faites-en un non-événement
(design for failure)
< Hystrix
< Resilient4j
< …
◉ Le Monitoring devient plus critique que jamais
< Configurez des alertes
< Affichez les métriques système importantes
Défis techniques – Monitoring
https://www.youtube.com/watch?v=SmRcSezrsZM
Josh Evans QCon San Fransisco 2016
40
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
◉ Définition de SLAs pour chaque service
< RPObjective
< RTObjective
< Temps de réponse
< Charge maximale
< Disponibilité garantie
etc…
◉ Utilisez les indicateurs actuels pour commencer
< Empêche la régression
Informe les utilisateurs potentiels
Défis techniques – La Mesure
41
THERE IS A BETTER WAY
Tests
42
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 43
◉ Définir un état stable, à l'aide d'un groupe de contrôle
◉ Introduire des variations dans le groupe expérimental
◉ Mesurer les différences et agir en conséquence
https://principlesofchaos.org
Groupe de contrôle
Groupe expérimental
Tests – Chaos engineering
1%
1%
1%
99%
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 44
◉ Maturation rapide
◉ Beaucoup de bibliothèques et d'outils à choisir
◉ Ne commencez pas par les tests en prod
Chaos Monkey for Spring Boot
Tests – Chaos engineering
https://github.com/dastergon/awesome-chaos-engineering
Tests de sécurité dans AWS
https://openchaos.io
http://principlesofchaos.org
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 45
Tests – maîtrisez vos classiques
VS.
Manual
User Interface
Integration
Unit
Unit
Integration
End to end
Component
Exploratory
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Impact d'un changement d'API a augmenté
< Déploiements indépendants
Dépendances entre services multipliées
Travailler avec des équipes séparées
< Release management
< Version management
RESTful API design
< Harmonisez
< Utilisez des guides clairs
Consumer driven contract
46
Tests – interactions des services
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable
Tests – Cibler les tests de tolérance aux fautes
◉ Tests de résilience aveugles :
< les erreurs sont à corriger
< l’absence d’erreur ne garantit rien
◉ Tests unitaires et composants :
< permettent de valider le composant
< ne couvrent pas la configuration de l’environnement
< ne permettent pas de tester une chaîne de défaillances impliquant plusieurs composants
◉ Tests ciblés de défaillance :
< utilisation d’un debugger pour instrumenter les composants de façon peu intrusive
< scripting pour déclencher les défaillances au moments critiques
< possibilité de scénarios impliquant des chaînes de défaillances
< capacité à vérifier les comportements en situation critique dans une situation réaliste
47
OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 48
Conclusion
Les transactions distribuées, c’est dur
Pourquoi
< Attention à l’over-engineering
Comment
< Prenez le temps de valider vos choix quant au théorème de CAP
Quoi
< Implémentation et tests des limites
Nous réalisons des missions de conseil IT et nous développons vos applications stratégiques… Différement.

Contenu connexe

Tendances

Matinale - Levez la malédiction du passage de l'IA en production
Matinale - Levez la malédiction du passage de l'IA en productionMatinale - Levez la malédiction du passage de l'IA en production
Matinale - Levez la malédiction du passage de l'IA en production
OCTO Technology
 
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
OCTO Technology
 
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
OCTO Technology
 
Afterwork "Décollez vers le Cloud"
Afterwork "Décollez vers le Cloud"Afterwork "Décollez vers le Cloud"
Afterwork "Décollez vers le Cloud"
OCTO Technology Suisse
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
OCTO Technology Suisse
 
Sensibilisation à l'Agile
Sensibilisation à l'Agile Sensibilisation à l'Agile
Sensibilisation à l'Agile
OCTO Technology
 
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
OCTO Technology
 
La Duck Conf - "Mise en prod de la data science : le jour d'après"
La Duck Conf -  "Mise en prod de la data science : le jour d'après" La Duck Conf -  "Mise en prod de la data science : le jour d'après"
La Duck Conf - "Mise en prod de la data science : le jour d'après"
OCTO Technology
 
La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe"
OCTO Technology
 
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
OCTO Technology
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
OCTO Technology
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses"
OCTO Technology
 
Petit-Déjeuner : Charlie et la Digital Factory
Petit-Déjeuner : Charlie et la Digital FactoryPetit-Déjeuner : Charlie et la Digital Factory
Petit-Déjeuner : Charlie et la Digital Factory
OCTO Technology
 
Le Comptoir OCTO - Les nouvelles topologies du Cloud
Le Comptoir OCTO - Les nouvelles topologies du CloudLe Comptoir OCTO - Les nouvelles topologies du Cloud
Le Comptoir OCTO - Les nouvelles topologies du Cloud
OCTO Technology
 
Le Comptoir : Les Chatbot stores en 2020
Le Comptoir : Les Chatbot stores en 2020Le Comptoir : Les Chatbot stores en 2020
Le Comptoir : Les Chatbot stores en 2020
OCTO Technology
 
Présentation travail du stage
Présentation travail du stagePrésentation travail du stage
Présentation travail du stage
Taoufiq Bahalla
 
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
OCTO Technology
 
Le Lounge OCTO x Accenture - Offrir une expérience premium sur mobile
Le Lounge OCTO x Accenture - Offrir une expérience premium sur mobileLe Lounge OCTO x Accenture - Offrir une expérience premium sur mobile
Le Lounge OCTO x Accenture - Offrir une expérience premium sur mobile
OCTO Technology
 
La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...
La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...
La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...
OCTO Technology
 
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
OCTO Technology
 

Tendances (20)

Matinale - Levez la malédiction du passage de l'IA en production
Matinale - Levez la malédiction du passage de l'IA en productionMatinale - Levez la malédiction du passage de l'IA en production
Matinale - Levez la malédiction du passage de l'IA en production
 
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
 
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
La Duck Conf - "Les papys de l'ESB ont une histoire à vous conter"
 
Afterwork "Décollez vers le Cloud"
Afterwork "Décollez vers le Cloud"Afterwork "Décollez vers le Cloud"
Afterwork "Décollez vers le Cloud"
 
Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?Êtes-vous API dans votre organisation ?
Êtes-vous API dans votre organisation ?
 
Sensibilisation à l'Agile
Sensibilisation à l'Agile Sensibilisation à l'Agile
Sensibilisation à l'Agile
 
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
La Duck Conf - Initier un Datalab : rien à voir avec ce que j'imaginais !
 
La Duck Conf - "Mise en prod de la data science : le jour d'après"
La Duck Conf -  "Mise en prod de la data science : le jour d'après" La Duck Conf -  "Mise en prod de la data science : le jour d'après"
La Duck Conf - "Mise en prod de la data science : le jour d'après"
 
La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe"
 
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
Petit-Déjeuner : L'API ne fait pas le moine : Confessions d'experts sur les m...
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
 
La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses" La Duck Conf - "L'API Management : au-délà des promesses"
La Duck Conf - "L'API Management : au-délà des promesses"
 
Petit-Déjeuner : Charlie et la Digital Factory
Petit-Déjeuner : Charlie et la Digital FactoryPetit-Déjeuner : Charlie et la Digital Factory
Petit-Déjeuner : Charlie et la Digital Factory
 
Le Comptoir OCTO - Les nouvelles topologies du Cloud
Le Comptoir OCTO - Les nouvelles topologies du CloudLe Comptoir OCTO - Les nouvelles topologies du Cloud
Le Comptoir OCTO - Les nouvelles topologies du Cloud
 
Le Comptoir : Les Chatbot stores en 2020
Le Comptoir : Les Chatbot stores en 2020Le Comptoir : Les Chatbot stores en 2020
Le Comptoir : Les Chatbot stores en 2020
 
Présentation travail du stage
Présentation travail du stagePrésentation travail du stage
Présentation travail du stage
 
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
 
Le Lounge OCTO x Accenture - Offrir une expérience premium sur mobile
Le Lounge OCTO x Accenture - Offrir une expérience premium sur mobileLe Lounge OCTO x Accenture - Offrir une expérience premium sur mobile
Le Lounge OCTO x Accenture - Offrir une expérience premium sur mobile
 
La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...
La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...
La Duck Conf - "Du monolithe à une architecture orientée service : Cher monol...
 
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
 

Similaire à La Duck Conf : "Microservices et transactions distribuées"

Réussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileRéussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobile
OCTO Technology Suisse
 
Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?
OCTO Technology Suisse
 
Soiré soire soa -logica
Soiré soire soa -logicaSoiré soire soa -logica
Soiré soire soa -logicaAlahyane Ahmed
 
Introduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projetIntroduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projet
Stéphane Liétard
 
Culture flow pour l'IT
Culture flow pour l'ITCulture flow pour l'IT
Culture flow pour l'IT
Samuel RETIERE
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture Test
OCTO Technology
 
Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence
OCTO Technology
 
La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?
La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ? La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?
La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?
OCTO Technology
 
Innovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette AutomatiséInnovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette Automatisé
Emmanuel Hugonnet
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
OCTO Technology
 
Pres acb 17avril13
Pres acb 17avril13Pres acb 17avril13
Pres acb 17avril13
ebloo GROUP
 
Le PLM chez HAULOTTE Group
Le PLM chez HAULOTTE GroupLe PLM chez HAULOTTE Group
Le PLM chez HAULOTTE Group
Entreprises & Numérique
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
SEO CAMP
 
BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...
BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...
BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...
Gabriel Magniez
 
Meetup sdn paris #4
Meetup sdn paris #4Meetup sdn paris #4
Meetup sdn paris #4
SDN_Paris
 

Similaire à La Duck Conf : "Microservices et transactions distribuées" (15)

Réussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobileRéussissez le développement de votre prochaine application web ou mobile
Réussissez le développement de votre prochaine application web ou mobile
 
Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?Afterwork Blockchain : la prochaine technologie disruptive ?
Afterwork Blockchain : la prochaine technologie disruptive ?
 
Soiré soire soa -logica
Soiré soire soa -logicaSoiré soire soa -logica
Soiré soire soa -logica
 
Introduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projetIntroduction aux méthodes agiles pour conduite de projet
Introduction aux méthodes agiles pour conduite de projet
 
Culture flow pour l'IT
Culture flow pour l'ITCulture flow pour l'IT
Culture flow pour l'IT
 
OCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture TestOCTO Talks - Lancement du livre Culture Test
OCTO Talks - Lancement du livre Culture Test
 
Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence
 
La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?
La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ? La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?
La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?
 
Innovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette AutomatiséInnovations Techniques Au Service Du Test De Recette Automatisé
Innovations Techniques Au Service Du Test De Recette Automatisé
 
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conceptionLe Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
Le Comptoir OCTO - La formation au cœur de la stratégie d’éco-conception
 
Pres acb 17avril13
Pres acb 17avril13Pres acb 17avril13
Pres acb 17avril13
 
Le PLM chez HAULOTTE Group
Le PLM chez HAULOTTE GroupLe PLM chez HAULOTTE Group
Le PLM chez HAULOTTE Group
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...
BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...
BreizhCamp 2017 - Circuit Breaker; comment disjoncter pour "éviter de péter l...
 
Meetup sdn paris #4
Meetup sdn paris #4Meetup sdn paris #4
Meetup sdn paris #4
 

Plus de OCTO Technology

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
OCTO Technology
 
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
OCTO Technology
 
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonnéLe Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
OCTO Technology
 
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudLe Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
OCTO Technology
 
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
OCTO Technology
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
OCTO Technology
 
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
OCTO Technology
 
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Technology
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
OCTO Technology
 
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Technology
 
Refcard GraphQL
Refcard GraphQLRefcard GraphQL
Refcard GraphQL
OCTO Technology
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/Leaseplan
OCTO Technology
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
OCTO Technology
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
OCTO Technology
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
OCTO Technology
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
OCTO Technology
 
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
OCTO Technology
 

Plus de OCTO Technology (20)

OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
Le Comptoir OCTO - Améliorer le Time to Market grâce au Headless : la recette...
 
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
Le Comptoir OCTO - Qu'apporte l'analyse de cycle de vie d'un audit d'éco-conc...
 
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonnéLe Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
Le Comptoir OCTO - Se conformer à la CSRD : un levier d'action insoupçonné
 
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloudLe Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
Le Comptoir OCTO - MLOps : Les patterns MLOps dans le cloud
 
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
La Grosse Conf 2024 - Philippe Stepniewski -Atelier - Live coding d'une base ...
 
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
La Grosse Conf 2024 - Philippe Prados - Atelier - RAG : au-delà de la démonst...
 
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
Le Comptoir OCTO - Maîtriser le RAG : connecter les modèles d’IA génératives ...
 
OCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeursOCTO Talks - Les IA s'invitent au chevet des développeurs
OCTO Talks - Les IA s'invitent au chevet des développeurs
 
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
Le Comptoir OCTO - Green AI, comment éviter que votre votre potion magique d’...
 
OCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend webOCTO Talks - State of the art Architecture dans les frontend web
OCTO Talks - State of the art Architecture dans les frontend web
 
Refcard GraphQL
Refcard GraphQLRefcard GraphQL
Refcard GraphQL
 
Comptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/LeaseplanComptoir OCTO ALD Automotive/Leaseplan
Comptoir OCTO ALD Automotive/Leaseplan
 
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ? Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
Le Comptoir OCTO - Comment optimiser les stocks en linéaire par la Data ?
 
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
Le Comptoir OCTO - Retour sur 5 ans de mise en oeuvre : Comment le RGPD a réi...
 
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...Le Comptoir OCTO -  Affinez vos forecasts avec la planification distribuée et...
Le Comptoir OCTO - Affinez vos forecasts avec la planification distribuée et...
 
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
Le Comptoir OCTO - Une vision de plateforme sans leadership tech n’est qu’hal...
 
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...Le Comptoir OCTO - L'avenir de la gestion du bilan carbone :  les solutions E...
Le Comptoir OCTO - L'avenir de la gestion du bilan carbone : les solutions E...
 

Dernier

De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
AlbertSmithTambwe
 

Dernier (6)

De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
 

La Duck Conf : "Microservices et transactions distribuées"

  • 1. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 1
  • 2. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 29.01 2019 ESPACE ST MARTIN - PARIS #LaDuckConf
  • 3. Transactions distribuées Avenue Mon-Repos 14 > 1005 LAUSANNE > SUISSE > WWW.OCTO.COM
  • 4. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 4 Bertrand LE FOULGOC Consultant @OCTOSuisse +41 79 138 01 22 blefoulgoc@octo.com Julien STAINER Consultant @OCTOSuisse +41 75 418 79 34 jstainer@octo.com OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 4
  • 5. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 5 Sommaire ◉ Définition ◉ Tolérance aux fautes < Idempotence < Files persistantes ◉ Patterns < Chorégraphie < Orchestration ◉ Tests < Chaos < Robustesse
  • 6. THERE IS A BETTER WAY Définition 6
  • 7. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 7 Transaction distribuée (dans une architecture microservice) < Un événement unique entraîne la mutation de deux ou plusieurs sources de données distinctes qui ne peuvent pas être validées atomiquement. < Les transactions distribuées dans les microservices sont à éviter autant que possible. < L'atomicité cède la place à la cohérence éventuelle Une définition http://www.grahamlea.com/2016/08/distributed-transactions-microservices-icebergs/
  • 8. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 8 Théorème de CAP (Brewer) Chaque lecture reçoit la donnée la plus récente ou une erreur Chaque requête reçoit une réponse (non-erreur) Le système fonctionne malgré la chute ou le retard des messages
  • 9. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 9 CALM Theorem ◉ Consistency and logical monotonicity ◉ Bloom language ◉ Disorderly distributed programming
  • 10. THERE IS A BETTER WAY Tolérance aux fautes 10
  • 11. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable < Prenons le cas d’un système de réservation de voyages en Suisse, composé de trois services : + Un service permet la réservation de billets d’avion + Un autre la location de voitures + Le dernier permet de choisir un chalet et des skis 11 Problèmes – un cas concret SCA
  • 12. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 12 Problèmes – concentrons-nous sur un service S < Avec une approche naïve, sans file persistante
  • 13. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 13 Problèmes – concentrons-nous sur un service S < Avec une approche naïve, sans file persistante < Si le service tombe en vol, on perd la transaction, l’utilisateur attend, et reçoit un message d’erreur S
  • 14. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 14 Problèmes – concentrons-nous sur un service < Avec une file persistante S
  • 15. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 15 Problèmes – concentrons-nous sur un service < Avec une file persistante < Si le service tombe entre deux messages, pas de problème S S
  • 16. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 16 Problèmes – concentrons-nous sur un service < Avec une file persistante < Si le service tombe entre deux messages, pas de problème < Si le service tombe pendant le traitement d’un message, on perd la transaction S S
  • 17. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 17 Problèmes – concentrons-nous sur un service < Avec une file persistante, en supprimant uniquement une fois le message traité < Si le service tombe pendant le traitement, pas de problème ? S S
  • 18. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 18 Problèmes – concentrons-nous sur un service < Avec une file persistante, en supprimant uniquement une fois le message traité < Si le service tombe pendant le traitement, pas de problème ? < Uniquement si le fait de rejouer la transaction n’est pas risqué, on parle d’idempotence S S
  • 19. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 19 Problèmes – avec deux services < Nous choisissons le fonctionnement en série S
  • 20. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 20 Problèmes – avec deux services < Nous choisissons le fonctionnement en série S
  • 21. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 21 Problèmes – avec deux services < Nous choisissons le fonctionnement en série C
  • 22. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 22 Problèmes – avec deux services < Nous choisissons le fonctionnement en série < Que se passe-t-il si mon deuxième service ne peut pas effectuer la réservation ? C
  • 23. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 23 Problèmes – avec deux services < Nous choisissons le fonctionnement en série < Que se passe-t-il si mon deuxième service ne peut pas effectuer la réservation ? < Il faut traiter le cas, soit manuellement, soit automatiquement. C
  • 24. THERE IS A BETTER WAY Patterns 24
  • 25. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable < Pour chaque sous-transaction, nous définissons une sous-compensation associée. < Les sous-transactions et sous-compensations sont idempotentes < Attention aux transactions sans compensations 25 Patterns - Chorégraphie SCA
  • 26. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Patterns - Chorégraphie C AS
  • 27. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Patterns - Chorégraphie C AS
  • 28. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Patterns - Chorégraphie S C AS C
  • 29. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Patterns - Chorégraphie C-1 C AS S
  • 30. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Naturel, instinctif Simple, facile à comprendre Effort minimal Aucun couplage à d'autres composants Idempotent Robuste Complexité potentiellement exponentielle Les dépendances cycliques sont difficiles à diagnostiquer Les tests de bout en bout sont difficiles 30 Patterns - Chorégraphie
  • 31. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable < Si le service en amont ne gère pas le séquencement et que l’on lance tout en parallèle: + Comment compenser une transaction qui n’a pas eu lieu ? + Combien de temps garde-t-on le message ? + … 31 Patterns – passage en parallèle, montée à l’échelle SCA
  • 32. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable < Un journal des transactions est maintenu 32 Patterns - Orchestrateur C AS
  • 33. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable < Un journal des transactions est maintenu < Les compensations sont jouées en cas d’erreur 33 Patterns - Orchestrateur C AS C C-1 S
  • 34. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable < Un journal des transactions est maintenu < Les compensations sont jouées en cas d’erreur 34 Patterns - Orchestrateur C AS C C-1 S < L’introduction de parallélisme doit être justifiée, car ce choix augmente fortement la complexité
  • 35. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable ◉ « Smart end-points, dumb pipes » C’est juste un service il est idéalement interne à l'équipe 35 ◉ « Smart pipes » ◉ Découpe un message en sous-messages Un service pour les gouverner tous... Géré par une équipe, implique les autres Patterns - Orchestrateur On dirait un ESB !?
  • 36. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable ◉ « Smart end-points, dumb pipes » C’est juste un service Il est idéalement interne à l'équipe 36 ◉ « Smart pipes » ◉ Découpe un message en sous-messages Un service pour les gouverner tous... Géré par une équipe, implique les autres Patterns - Orchestrateur On dirait un ESB !?
  • 37. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Pas de dépendances cycliques Simplifie les services Plus facile à tester Complexité linéaire Idempotence Résistance aux fautes Logique décentralisée (! ESB) Point de défaillance unique (redondance) Couplage plus fort 37 Patterns - Orchestrateur
  • 38. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 38 Patterns – Chorégraphie vs Orchestrateur
  • 39. THERE IS A BETTER WAY Des défis ?
  • 40. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable ◉ La disponibilité du système est le produit des disponibilités des services < 99.99% disponible signifie 53 minutes d'arrêt < Devient 8 à 9 heures par an une fois combiné ◉ Les arrêts vont arriver, faites-en un non-événement (design for failure) < Hystrix < Resilient4j < … ◉ Le Monitoring devient plus critique que jamais < Configurez des alertes < Affichez les métriques système importantes Défis techniques – Monitoring https://www.youtube.com/watch?v=SmRcSezrsZM Josh Evans QCon San Fransisco 2016 40
  • 41. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable ◉ Définition de SLAs pour chaque service < RPObjective < RTObjective < Temps de réponse < Charge maximale < Disponibilité garantie etc… ◉ Utilisez les indicateurs actuels pour commencer < Empêche la régression Informe les utilisateurs potentiels Défis techniques – La Mesure 41
  • 42. THERE IS A BETTER WAY Tests 42
  • 43. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 43 ◉ Définir un état stable, à l'aide d'un groupe de contrôle ◉ Introduire des variations dans le groupe expérimental ◉ Mesurer les différences et agir en conséquence https://principlesofchaos.org Groupe de contrôle Groupe expérimental Tests – Chaos engineering 1% 1% 1% 99%
  • 44. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 44 ◉ Maturation rapide ◉ Beaucoup de bibliothèques et d'outils à choisir ◉ Ne commencez pas par les tests en prod Chaos Monkey for Spring Boot Tests – Chaos engineering https://github.com/dastergon/awesome-chaos-engineering Tests de sécurité dans AWS https://openchaos.io http://principlesofchaos.org
  • 45. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 45 Tests – maîtrisez vos classiques VS. Manual User Interface Integration Unit Unit Integration End to end Component Exploratory
  • 46. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Impact d'un changement d'API a augmenté < Déploiements indépendants Dépendances entre services multipliées Travailler avec des équipes séparées < Release management < Version management RESTful API design < Harmonisez < Utilisez des guides clairs Consumer driven contract 46 Tests – interactions des services
  • 47. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable Tests – Cibler les tests de tolérance aux fautes ◉ Tests de résilience aveugles : < les erreurs sont à corriger < l’absence d’erreur ne garantit rien ◉ Tests unitaires et composants : < permettent de valider le composant < ne couvrent pas la configuration de l’environnement < ne permettent pas de tester une chaîne de défaillances impliquant plusieurs composants ◉ Tests ciblés de défaillance : < utilisation d’un debugger pour instrumenter les composants de façon peu intrusive < scripting pour déclencher les défaillances au moments critiques < possibilité de scénarios impliquant des chaînes de défaillances < capacité à vérifier les comportements en situation critique dans une situation réaliste 47
  • 48. OCTO © 2019 - Reproduction interdite sans autorisation écrite préalable 48 Conclusion Les transactions distribuées, c’est dur Pourquoi < Attention à l’over-engineering Comment < Prenez le temps de valider vos choix quant au théorème de CAP Quoi < Implémentation et tests des limites
  • 49. Nous réalisons des missions de conseil IT et nous développons vos applications stratégiques… Différement.