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. Améliorer les compétences
    et les infrastructures avec
    les katas d'architecture
    Alexandre TOURET

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  6. Deux livres indispensables

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  14. 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)

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  19. 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)

    View full-size slide

  20. Comment évaluer une architecture?

    View full-size slide

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

    View full-size slide

  22. • 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide