Slide 1

Slide 1 text

Améliorer les compétences et les infrastructures avec les katas d'architecture 08 octobre 2022

Slide 2

Slide 2 text

Alexandre Touret Architecte / Développeur #Java #API #CI #Cloud #Software_Craftsmanship 2 https://blog.touret.info @touret_alex @[email protected]

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6 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 7

Slide 7 text

7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

9 https://bit.ly/parisjug-sondage1

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11 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 2.

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. 13

Slide 14

Slide 14 text

Les katas d’architecture Du coding dojo pour architectes 3.

Slide 15

Slide 15 text

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 15 Phase 1 : Warm-up (5mn)

Slide 16

Slide 16 text

Le modèle C4

Slide 17

Slide 17 text

17 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

18 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

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 19

Slide 20

Slide 20 text

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 20

Slide 21

Slide 21 text

Quelques conseils ▪ Clarifier le besoin (pourquoi une nouvelle application ?) ▪ Identifier les chiffres clés ▪ Zoomer progressivement 21

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

23 Postulat: On ne gère pas les zones blanches. Un simple rejeu est fait coté voiture

Slide 24

Slide 24 text

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. 24

Slide 25

Slide 25 text

Comment évaluer une architecture? 25

Slide 26

Slide 26 text

Trois caractéristiques 26 Simplicité Evolutivité Adapté à l’environnement

Slide 27

Slide 27 text

27 A Worldline ▪ Kata mensuel (avant le COVID19) ▪ On a contextualisé et complexifié les sujets au fur et à mesure ▪ Certaines équipes l’ont personnalisé

Slide 28

Slide 28 text

▪ 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 28 Les bénéfices

Slide 29

Slide 29 text

Pour aller plus loin http://nealford.com/katas/list.html https://archkatas.herokuapp.com/ https://blog.worldline.tech/2019/12/12/architecture-katas.html 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

31

Slide 32

Slide 32 text

Merci! Des questions? @touret_alex 32 08 octobre 2022 @[email protected]