Slide 1

Slide 1 text

Améliorer les compétences et les infrastructures avec les katas d'architecture Alexandre TOURET

Slide 2

Slide 2 text

Alexandre TOURET Architecte logiciel, TechRel @touret_alex blog.touret.info alexandre-touret Qui suis-je?

Slide 3

Slide 3 text

We design payments technology that powers the growth of millions of businesses around the world.

Slide 4

Slide 4 text

Histoire d’un·e développeur·euse Toute ressemblance avec des personnes existantes ou ayant existé...

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Deux livres indispensables

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Les katas

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Les katas d’ architecture Du coding dojo pour architectes

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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)

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Clarifier le besoin Identifier les chiffres clés Zoomer progressivement Quelques conseils

Slide 22

Slide 22 text

Un exemple de solution ccepts iles rom trusted customers person system e ternal person e ternal system

Slide 23

Slide 23 text

Si on zoome… ngular ava Spring oot person system e ternal person e ternal system

Slide 24

Slide 24 text

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)

Slide 25

Slide 25 text

Comment évaluer une architecture?

Slide 26

Slide 26 text

Trois caractérisques Simplicité Evolutivité Adapté à l’environnement

Slide 27

Slide 27 text

• 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

Slide 28

Slide 28 text

• http://nealford.com/katas/list.html • https://archkatas.herokuapp.com/ • https://blog.worldline.tech/2019/12/12/architecture-katas.html Quelques ressources

Slide 29

Slide 29 text

▪ 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

Slide 30

Slide 30 text

Un grand architecte ne se développe que par la pratique. - Franck Brooks (Design of Design)

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Explore our jobs in tech: careers.worldline.com Want to shape how the world pays and get paid?