Slide 1

Slide 1 text

Architecture & Microservices Bienvenue au LYONJUG

Slide 2

Slide 2 text

Sponsors : Partenaires :

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Prochains Talks : Proposez vos sujets ! https://www.meetup.com/fr-FR/lyonjug/ @LyonJUG http://www.lyonjug.org [email protected]

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Améliorer les compétences et les infrastructures avec les katas d'architecture 21 février 2023

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

11

Slide 10

Slide 10 text

12

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

14

Slide 13

Slide 13 text

15

Slide 14

Slide 14 text

16 bit.ly/lyonjug-sondage1

Slide 15

Slide 15 text

17

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Les katas 2.

Slide 18

Slide 18 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. 20

Slide 19

Slide 19 text

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

Slide 20

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

Slide 21

Slide 21 text

Le modèle C4

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 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 26

Slide 25

Slide 25 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 27

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

29

Slide 28

Slide 28 text

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

Slide 29

Slide 29 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. 31

Slide 30

Slide 30 text

Comment évaluer une architecture? 32

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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é

Slide 33

Slide 33 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 35 Les bénéfices

Slide 34

Slide 34 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 36

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

38

Slide 37

Slide 37 text

Merci! Des questions? @touret_alex 39 21 février 2023 @[email protected]