Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[LYON JUG 2023] Améliorer les compétences et le...

[LYON JUG 2023] Améliorer les compétences et les infrastructures avec les katas d'architecture

Comment devenir architecte ? Comment progresser dans ce domaine ? A quoi reconnaît-on une bonne ou une mauvaise architecture ? Il existe certes un grand nombre d' ouvrages et formations sur le sujet, mais le mieux est quand même de pratiquer !

Une solution à ce problème pourrait être donc de s’entraîner régulièrement sur des sujets différents pour gagner en expérience.

Pour rendre l’apprentissage de l’architecture et de la conception plus empirique - et plus ludique, nous allons découvrir les Katas d’Architecture au travers d’un retour d’expérience. Nous découvrirons comment les mettre en œuvre ainsi que les bénéfices que j’en ai tirés.

Alexandre Touret

February 21, 2023
Tweet

More Decks by Alexandre Touret

Other Decks in Technology

Transcript

  1. Evènements à venir • Mercredi 21 Février DDD: Dessine moi

    une patate (Crafters) • Jeudi 23 Février Retours de la PyConFR 2023 • Mercredi 15 Mars 9 mois de prod sans avoir codé de back-end & Mob Programming 🤯 (JS) • Mardi 22 Mars jOOQ, la joie du SQL Par Kevin Davin
  2. Architecture Katas and Microservices Par Alexandre Touret Architecture microservices et

    cohérence des données : mais on fait comment pour de vrai ? Par Jean-Francois James
  3. 11

  4. 12

  5. 13 All architecture is design but not all design is

    architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. Grady Booch
  6. 14

  7. 15

  8. 17

  9. 18 So how are we supposed to get great architects,

    if they only get the chance to architect fewer than a half-dozen times in their career?" Ted Neward
  10. Il s'agit de mouvements codifiés à partir de l'expérience de

    combattants dont les noms ont été perdus. Les katas sont par la suite devenus des outils de transmission de techniques, mais aussi de principes, de combat. 20
  11. On constitue les équipes en “brassant” les populations Pas besoin

    d’ordinateur → du papier et des marqueurs suffisent On essaye de se focaliser sur le formalisme à adopter 22 Phase 1 : Warm-up (5mn)
  12. 24 User My wonderful system Enables magic API Management Identifies/authorizes

    customers requests Calls API endpoint External System User Call / Usage System Internal System Chart legend: FILE GATEWAY Sends files Fetchs files regularly S3 STORAGE Stores files
  13. 25 External System User Call / Usage System Internal System

    Chart legend: User My API GATEWAY API Proxy Runtime:[Api Gateway] Mediation to back end OAUTHv2 Provider Runtime:[Api Gateway] Identifies and authorizes (1) API Call [JSON/HTTPS] My Wonderful System My App Runtime:[K8S,Docker,Spring Boot,JAVA11] (2) API Call [JSON/HTTPS] (3) Queries and stores datas [mongodb] Kubernetes MongoDB Replicaset Primary Secondary Arbiter
  14. Phase 2: Conception (1H) Les équipes reçoivent le sujet On

    peut demander toutes les questions que l’on veut au modérateur Les équipes peuvent prendre des hypothèses On peut utiliser toutes les technologies que l’on veut 26
  15. Un exemple: Les plus mauvaises routes Les collectivités territoriales ont

    du mal à identifier les routes à rénover et ont de moins en moins de moyens. Elles souhaitent avoir des rapports dynamiques et précis sur l’utilisation des routes à la journée. Les données proviendront des voitures. Le traitement des données doit être anonymisé et compatible GDPR. Volumétrie: 1 transaction par seconde par voiture 27
  16. Quelques conseils ▪ Clarifier le besoin (pourquoi une nouvelle application

    ?) ▪ Identifier les chiffres clés ▪ Zoomer progressivement 28
  17. 29

  18. 30 Postulat: On ne gère pas les zones blanches. Un

    simple rejeu est fait coté voiture
  19. Phase 3 : Peer Review (5mn/équipe) Vous devez présenter votre

    vision tout au long de la conception … … et présenter votre solution aux autres équipes. 31
  20. 34 A Worldline ▪ Kata mensuel (avant le COVID19) sur

    certains sites ▪ On a contextualisé et complexifié les sujets au fur et à mesure ▪ Certaines équipes l’ont personnalisé
  21. ▪ Travailler en équipe sur un nouveau sujet ▪ Identifier

    et s’adapter aux contraintes ▪ Communiquer et convaincre ▪ D’appréhender d’autres manières de penser ▪ Progresser grâce à l’expérience de vos collègues 35 Les bénéfices
  22. 37 Un grand architecte ne se développe que par la

    pratique. Franck Brooks (Design of Design)
  23. 38