O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?

Talk de Safa Mabrouk

Les patterns d’architectures décentralisées et les outils distribués sont de plus en plus présents dans nos SI. Les microservices et les architectures event-driven deviennent la norme. Depuis une vingtaine d’années, l’orchestration est utilisée pour gouverner le SI, avec ses forces et ses faiblesses. Ceci dit, un nouveau concurrent a émergé ces dernières années : la chorégraphie. Ce pattern apporte différents concepts pour maîtriser le chaos des échanges et continuer à suivre les challenges métiers.

Retrouvez le compte-rendu écrit ici :
Retrouvez la vidéo de la conférence ici : https://bit.ly/3t4zMhV

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

La Duck Conf - Qui maîtrise le mieux le chaos de votre SI ? Mozart ou Béjart ?

  1. 1. Coin Coin ! 1 La Duck Conf by OCTO Technology © 2021 - All rights reserved Qui maîtrise mieux le chaos dans votre SI : Mozart ou Béjart ? Orchestration vs Chorégraphie , est ce vraiment la question ?
  2. 2. 2 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Qésako ?
  3. 3. Coin Coin ! 3 La Duck Conf by OCTO Technology © 2021 - All rights reserved Les SI évoluent et les patterns d’architecture changent Modules X Application A Application X Application Y Application B Application Z
  4. 4. 4 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Mozart et le pattern de Orchestration “L'orchestration décrit le processus automatique d'organisation, de coordination, et de gestion de systèmes informatiques complexes, de middleware et de services” wikipedia
  5. 5. 5 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Béjart et le pattern de Chorégraphie “[...]Les applications possèdent leur propre logique de domaine et agissent davantage comme des filtres au sens classique d'Unix - recevant une requête, appliquant la logique le cas échéant et produisant une réponse. Celles-ci sont chorégraphiées à l'aide de protocoles RESTish simples” Martin Fowler
  6. 6. Coin Coin ! 6 La Duck Conf by OCTO Technology © 2021 - All rights reserved ๏ Safa MABRROUK ๏ Coding Architecte drivée par les promesses des technologies et les contraintes du terrain ๏ Continue à apprendre comment maîtriser l’entropie des SI ๏ @mabrouksafa Qui suis je ?
  7. 7. Coin Coin ! 7 La Duck Conf by OCTO Technology © 2021 - All rights reserved Quelques définitions de plus ... ๏ DDD > “DDD est l’acronyme de Domain Driven Design. Ce n’est ni un framework, ni une méthodologie, mais plutôt une approche décrite dans l’ouvrage du même nom d’Eric Evans. Un de ses objectifs est de définir une vision et un langage partagés par toutes les personnes impliquées dans la construction d’une application, afin de mieux en appréhender la complexité” blog Octo ๏ Bounded Contexte > un concept clé du DDD > C’est une façon de découper et de modéliser le métier d’une entreprise en plusieurs domaines, contextes, indépendants, avec une responsabilité limitée et des frontières fonctionnel en premier et ensuite métier claires > Bounded Context donne aux membres de l'équipe une compréhension claire et partagée de ce qui doit être cohérent et de ce qui peut se développer indépendamment
  8. 8. 8 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Comment on est arrivé là ? Pourquoi on se pose cette question ?
  9. 9. Coin Coin ! 9 La Duck Conf by OCTO Technology © 2021 - All rights reserved Use case Fil rouge Processus métier d’achat d’un t shirt Ajouter le t shirt au panier Payer Gérer le stock des t shirt Livrer mettre le t shirt dans le panier Gestion du compte Client Livraison Paiement Stock
  10. 10. Coin Coin ! 10 La Duck Conf by OCTO Technology © 2021 - All rights reserved ๏ Les deux patterns d’échanges complémentaires les plus implémentées récemment ๏ Chaque application à un périmètre fonctionnel clair ๏ Les applications exposent des services avec des contrats d’interface clair pour communiquer entre elles > Exposer les processus > Exposer les ressources ๏ Microservice > Application avec un périmètre fonctionnel limité et clair > Des services simple exposant simplement les ressources des application en mode CRUD Deux patterns d’échanges SOA & Microservices
  11. 11. Coin Coin ! 11 La Duck Conf by OCTO Technology © 2021 - All rights reserved SOA et les microservice comme pattern d'échange Gestion du compte Client Stock Livraison Paiement REQUÊTE RÉPONSE
  12. 12. Coin Coin ! 12 La Duck Conf by OCTO Technology © 2021 - All rights reserved Un orchestrateur Gestion du compte Client Orchestrateur ● Processus métier ● Gestion des erreurs ● Rejeu ● ... Livraison Paiement Stock
  13. 13. Coin Coin ! 13 La Duck Conf by OCTO Technology © 2021 - All rights reserved outils de Business process management (BPM)
  14. 14. Coin Coin ! 14 La Duck Conf by OCTO Technology © 2021 - All rights reserved ๏ Des APIs CRUD anémiques ๏ Une brique d’orchestration transverse qui devient compliquée fonctionnellement et techniquement > un orchestrator FAT, Service Dieu ๏ Des outils de workflow compliqués, difficiles à faire évoluer, et des outils cher Résultats
  15. 15. Coin Coin ! 15 La Duck Conf by OCTO Technology © 2021 - All rights reserved Event Driven Architecture ๏ “Un événement peut être défini comme "un changement d'état significatif. D'un point de vue formel, ce qui est produit, publié, propagé, détecté ou consommé est un message [...] et non l'événement lui-même, qui est le changement d'état qui a déclenché l'émission du message. [...] . Les architectures événementielles sont souvent conçu au-dessus d'architectures axées sur les messages, où un tel modèle de communication nécessite que l'une des entrées soit uniquement du texte, le message, pour différencier la façon dont chaque communication doit être traitée “ wikipedia Les pattern d’échanges continuent à évoluer
  16. 16. Coin Coin ! 16 La Duck Conf by OCTO Technology © 2021 - All rights reserved Chorégraphie Gestion du compte Client Livraison Paiement Stock Ordre d’achat du t shirt émis Paiement fait t shirt retiré
  17. 17. Coin Coin ! 17 La Duck Conf by OCTO Technology © 2021 - All rights reserved Chorégraphie Gestion du compte Client Livraison Paiement Stock de Topic Ordre d’achat Topic Transaction Topic Livraison Topic Article Bus d’événements (Kafka, Pulsar, logDevice) Événement
  18. 18. Coin Coin ! 18 La Duck Conf by OCTO Technology © 2021 - All rights reserved ๏ Perte de connaissance métier > la seule vérité est le code en production > Le problème est que le code est éclaté dans 10 systémes et on ne sait plus quel système répond à quel event et quand > Le code source ne donne pas d’indication quant à qui va appeler l’application et pourquoi ๏ Gouvernance des échanges plus difficile > Gestion des versions > Synchronisation de la donnée > Des échanges sont plus difficiles à trouver, cartographier, suivre et débugger ๏ L’erreur est chère : la reprise d’erreur est compliquée et devient de plus en plus difficile avec l’augmentation de nombre des services > Les applications doivent savoir qu’une erreur est arrivée et pour quelle raison et comment réagir Résultats
  19. 19. Coin Coin ! 19 La Duck Conf by OCTO Technology © 2021 - All rights reserved Chorégraphie Gestion du compte Client Livraison Paiement Stock de Topic Ordre d’achat Topic Transaction Topic Livraison Topic Article Bus d’événements (Kafka, Pulsar, logDevice) APM Centrale des Logs ELK Data dog id correlation observabilité timestamp …
  20. 20. 20 Coin Coin ! La Duck Conf by OCTO Technology © 2021 - All rights reserved Quoi faire ?
  21. 21. Coin Coin ! 21 La Duck Conf by OCTO Technology © 2021 - All rights reserved ๏ Un des principes clé d’une architecture microservice défini par Martin Fowler ๏ Les APIs n’expose pas seulement des ressources , Une API expose aussi de l’intelligence et des processus > L’intelligence métier est encapsulée et exposé dans l’API ๏ Le pipe ou l’outil d'orchestration se limite à une machine à état simple qui contient le minimum d’intelligence possible Dumb pipes smart endpoint
  22. 22. Coin Coin ! 22 La Duck Conf by OCTO Technology © 2021 - All rights reserved Event sur les frontières, workflow à l’intérieur Gestion du compte Client Livraison Paiement Stock Bus d’événements (Kafka, Pulsar, logDevice) Paypal Gestion de carte Visa Gestion des comptes Gestion frais Tiers payant Orchestrateur ● Processus métier ● Gestion des erreurs ● Rejeu Événement Événement Événement Événement
  23. 23. Coin Coin ! 23 La Duck Conf by OCTO Technology © 2021 - All rights reserved ๏ Bounded Context = Périmètre fonctionnel Cair > Gestion des erreurs clair > Processus métier précis et simple > Rejeu ou la gestion des erreurs et maîtrisée par le métier > Orchestrer à l’intérieur du bounded contexte ๏ Bounded Contexte = Indépendant, autonome et autosuffisant > Chaque application informe le SI de son changement d’état avec un évènement Event sur les frontières, workflow à l’intérieur
  24. 24. Coin Coin ! 24 La Duck Conf by OCTO Technology © 2021 - All rights reserved Paiement Compensation SAGA : long lived transaction Gestion du compte Client Livraison Stock Bus d’événements (Kafka, Pulsar, logDevice) Paypal Gestion de carte Visa Gestion des comptes Gestion frais Tiers payant Orchestrateur ● Processus métier ● Gestion des erreurs ● Rejeu Rembourse ment Remboursem ent frais
  25. 25. Coin Coin ! 25 La Duck Conf by OCTO Technology © 2021 - All rights reserved TAKE AWAY ๏ Chorégraphie garantie plus de découplage et une architecture plus scalable ๏ Chorégraphie peut augmenter l’entropie dans le SI et complexifier sa gouvernance ๏ L’orchestration garantie plus une cohérence et de cohésion de processus métier ๏ L’orchestration peut créer des systèmes difficile à maintenir et à scaler
  26. 26. Coin Coin ! 26 La Duck Conf by OCTO Technology © 2021 - All rights reserved TAKE AWAY ๏ Pour maîtriser son SI, la solution est de tirer profit des deux pattern : > Créer une chorégraphie entre les bounded contexts > Mettre en place un chef d’orchestre à l’intérieur de chaque Bounded Contexte > Utiliser les bons outils
  27. 27. Coin Coin ! 27 La Duck Conf by OCTO Technology © 2021 - All rights reserved

×