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

[CES23] Améliorer les compétences et les infrastructures avec les katas d'architecture

[CES23] 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

October 26, 2023
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. 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
  2. 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
  3. 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. Une définition
  4. Phase #1:Warm-up (5mn) On constitue les équipes en “brassant” les

    populations Mettez-vous d’accord sur l’outillage On essaye de se focaliser sur le formalisme à adopter
  5. System Context • Le système avec les utilisateurs et dépendances

    Containers • L’architecture du système à créer avec les choix technologiques Components • Les différents composants et leurs interactions au sein d’un conteneur Code • Diagramme UML d’un composant Le modèle C4 c4model.com La vue haut niveau Premier zoom Détail à la demande
  6. Le modèle C4 La vue système 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
  7. Le modèle C4 La vue container 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
  8. Les équipes reçoivent le sujet On peut poser 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 Phase #2: Conception (~1H)
  9. 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 Un exemple Les plus mauvaises routes
  10. Vous devez présenter votre vision tout au long de la

    conception … … et présenter votre solution au autres équipes. Phase #3: Peer Review (5mn/équipe)
  11. • Kata mensuel (avant le COVID19) sur certains sites •

    On a contextualisé et complexifié les sujets au fur et à mesure • Certaines équipes l’ont personnalisé A Worldline
  12. ▪ Travailler en équipe sur un nouveau sujet ▪ ’

    contraintes ▪ Communiquer et convaincre ▪ ’ éh ’ m è ▪ Progresser grâce à l’expérience de vos collègues Les bénéfices
  13. Don’t be a stranger! Follow & get in touch @touret_alex

    linkedin.com/in/atouret blog.worldline.tech @WorldlineTech Follow our tech team: Follow me: blog.touret.info alexandre-touret Feedback