Arolla formation microservices DDD
Arolla Training

Infos pratiques

Arolla Training
Téléphone
07 63 74 20 95
Email
formation@arolla.fr
S'INSCRIRE

Formateurs

  • Cyrille MARTRAIRE
    Cyrille MARTRAIRE

    Cyrille Martraire est le Directeur Technique d’Arolla qu’il a cofondé en 2009. Développeur senior et coach technique, il anime régulièrement nos formations sur TDD, Clean Code, BDD et DDD.

    Son engagement pour la promotion des techniques de développement orientées qualité l’a naturellement conduit à créer la communauté du Paris Software Craftmanship en 2011.

    En tant que coach technique, Cyrille excelle en programmation Java et sur les paradigmes de programmation fonctionnelle ou de Clean Code (TDD, BDD, Refactoring de Legacy, DDD). Depuis près de 5 ans, il assiste des développeurs, des manageurs ou des directeurs techniques (SGCIB, Kyriba, Axa GS, ENGIE) dans leurs projets de gouvernance et de transformation des pratiques (gestion de projet et ingénierie).

    Il anime régulièrement des conférences sur ces sujets en France ou à l’étranger telles que Devoxx France, DDD Exchange, Scrum Day, Agile France… Il est l’auteur de l’ouvrage « Living Documentation » dont BDD est un exemple iconique paru en 2019.

    DOMAINES DE COMPÉTENCES DE CYRILLE
    • TEST DRIVEN DEVELOPMENT
    • CLEAN CODE
    • BEHAVIOR-DRIVEN DEVELOPMENT
    • DOMAIN DRIVEN DESIGN

  • Emmanuel CONRARDY
    Emmanuel CONRARDY

    Emmanuel est un développeur senior .Net, professeur des écoles et adepte des méthodologies xDD,il a à coeur la reprise de code legacy, le refactoring et les design patterns.

    Vous pouvez le croiser dans les meetups d’Arolla qu’il anime régulièrement Craft your Skills et Jam de code.
    En mission il aide les développeurs à s’émanciper et à reprendre goût dans leur métier. Il a les connaissances et méthodes (TDD,BDD,DDD,Refactoring) pour que les équipes puissent progresser.

    C’est avec la même état d’esprit qu’il souhaite transférer ce qu’il a appris dans les formations d’Arolla, et qu’il a à cœur de partager a son tour.
    Emmanuel anime les formations “Working with legacy Code” ou “Behaviour Driven Development”.

  • Karim ZEGOUR
    Karim ZEGOUR

    Depuis 20 ans, Karim Zegour travaille dans des environnements complexes, comme le monde bancaire, pharmaceutique ou le matériel médical. Il anime également des formations inter- et intra-entreprise sur différents aspects de l’écosystème Microsoft depuis le début des années 2000.

    Aujourd’hui, il étend son activité vers les stratosphères d’Azure, où il assiste les clients d’Arolla dans leur migration vers le cloud-computing, la création de SI, de solutions techniques complexes en full-cloud ou en cohabitation avec une infrastructure existante.

    Domaines de compétence de Karim:
    – C# et le framework .NET
    – Clean code
    – Pragmatic Architecture
    – Microsoft Azure
    – Craft for SQL Server
    – Frameworks techniques

  • Mathieu EVEILLARD
    Mathieu EVEILLARD

    Mathieu conçoit et développe des applications Web depuis plus de 10 ans. Après avoir exploré diverses facettes du métier et notamment la direction de projets, il accompagne des équipes en tant que coach technique, facilitant leur montée en compétence sur les pratiques du Craft. Mathieu intervient également en tant que consultant sur des sujets de (re)modularisation des systèmes d’information, en s’appuyant sur les heuristiques du Domain Driven Design.

    Très investi dans la transmission, Mathieu est notamment le créateur des formations Crafting Front-End Code et Casual FP et anime les formation TDD, BDD et DDD, Refactoring et Pragmatic Architecture.

    Principaux domaines d’intervention de Mathieu :
    ReactJS
    Programmation fonctionnelle
    Domain Driven Design

    Retrouvez Mathieu sur son blog : https://mathieueveillard.github.io/

  • Mathieu PAULY
    Mathieu PAULY

    Doté d’une forte culture informatique et très à l’aise en langages objets et fonctionnels, Mathieu est mentor sur les bonnes pratiques de développement. Formateur aguerri, il accompagne plusieurs clients d’Arolla sur TDD et Clean Code aussi bien en France qu’à l’étranger et avec des audiences francophones ou anglophones.

    En tant que coach, il est régulièrement amené à intervenir sur des missions ayant pour but de sensibiliser les développeurs aux tests sur des formats variés (accompagnement conseil, training, animation de dojos…).

    Il partage son savoir-faire en publiant des articles sur notre blog, co-animant des conférences ou en donnant des cours dans des écoles d’ingénieur.

    Evaluateur technique depuis des années, Mathieu a fêté ses 6 ans d’ancienneté chez Arolla.

    Domaines de compétences de Mathieu
    • Test Driven Development
    • Clean Code
    • Domain Driven Design
    • Behavior-driven Development

Prochaine formation

Date

26 Nov 2020 - 27 Nov 2020

Tarif

1980 €

Modalités pédagogiques

Formation en distanciel et présentiel

Microservices avec DDD

Objectifs :

L’architecture microservice est une approche attractive pour construire et faire évoluer des systèmes à grande échelle, avec un grand nombre d’utilisateurs ou avec un grand nombre d’équipes de développeurs qui doivent pouvoir travailler en relative autonomie pour livrer des fonctionnalités efficacement et indépendamment.

Les objectifs de cette formation sont :
• Définir une architecture basée sur les microservices
• Maîtriser les concepts essentiels du Domain-Driven Design (DDD)
• Apprendre à modéliser et à définir le périmètre d’un microservice
• Identifier les problématiques et les patterns de résolution d’une architecture microservices
• Définir une trajectoire de migration d’un existant vers une approche microservices

En matière de microservices, le focus est souvent sur les technologies, alors que les points clés sont la définition pertinente des contours des services. Ce n’est pas facile et c’est précisément pour cela que l’approche Domain-Driven Design est essentielle pour guider le découpage. Il s’agit aussi de penser en terme de système en soignant tout ce qui est nécessaire entre les services.

Cette formation couvre à la fois la théorie et les applications dans une présentation unifiée, avec des exercices pratiques. Elle présente les concepts essentiels de DDD, les techniques clés d’architecture ainsi que les principales technologies nécessaires pour les mettre en oeuvre. Et puisque cette mise en oeuvre commence le plus souvent sur des systèmes existants, cette formation décrit aussi des trajectoires de migration et de cohabitation avec le legacy.

Cette formation s’appuie sur notre expertise théorique sur le sujet et sur nos expériences d’accompagnement de nos clients sur ces architectures microservices. En particulier, nous décrivons aussi des modes d’échec classiques que nous avons observés.

Programme :

Faire le point sur les différentes définitions et enjeux des microservices
• API et approches API-first
• Autres façons de regarder les microservices : « damage control »: size, time to replace, decoupling, scalabilité, SOLID
• Polyglot persistence, polyglot services

Comprendre l’apport de Domain-Driven Design pour aider à définir les frontières des services
• Comprendre et identifier les Bounded Contexts
• Découvrir des notions de Context Mapping
• Réaliser les conséquences en terme de duplication (DRY vs Coupling) et de cohérence à terme (Eventual Consistency)

Comprendre une architecture microservices Architecture
• Comprendre la différence entre Choreography et Orchestration
• Intégration Asynchrone avec Event-Driven Architecture, messaging et patterns d’intégration EIP
• Intégration Synchrone et les conséquences
• Réaliser l’importance de la robustesse des contrats entre services, leur gouvernance pour les enjeux de compatibilité, les heuristiques et pièges à éviter
• Compromis Autonomy vs. Authority
• CQRS, Backend for Front-End (UI-specific API vs service API), mashup techniques

Penser “Design for Failure”
• Penser en terme de zones d’échec (Failure Areas)
• Circuit breakers for graceful degradation
• Découvrir les approches de test : compile time (Consumer-Driven Contracts) or runtime (Symian Army)
• When data get out of sync : reconciliation, replay, reload, et l’importance de l’idempotence et du polling comme solutions
• Monitoring : guidelines, outils, Alerting & Distributed tracing

Implémenter un service
• Concevoir une API, au-delà de la capacité “d’exposer les entités en REST”
• Persistence privative comme source de vérité (Sources of Truth), pattern Data Pump
• L’importance d’être Stateless, pour la fault-tolerance, le Cloud et l’elasticity
• Architecture Hexagonale
• Event-Sourcing vs Event-Driven
• Découvrir des patterns spécifiques pour le Cloud, la notions de Serverless & de Function as a Service
• Microservice Chassis: Spring Boot, Dropwizard
• Horizontal Scaling, Load balancing and intelligent routing
• Configuration services, Registration and Discovery
• Principes de sécurité

Migration Legacy
• Requalifier un existant legacy en “Macroservices”
• Extension d’un existant par des nouveaux services dans une approche de fédération
• Le pattern clé Strangler Application et autres patterns legacy utiles : Legacy Read Model, Double Feeding, Services Aggregation, Change Data Capture
• Les enjeux des périmètres transactionnels historiques : Save on Out of Focus vs. Distributed Transaction vs. Large microservices

Introduire une architecture microservices et les principaux pièges à éviter
• A quel moment et comment adopter les microservices
• Un changement de culture au-delà d’un changement technique
• Alternatives aux microservices : modularité, Discipline, approche microservice-Ready, et les limites associées
• Compétences et maturité pré-requises

Public :

Cette formation s’adresse aux développeurs expérimentés, aux architectes, team leads, référents et coachs techniques.

Pré-requis :

– Bonne connaissance d’au moins un langage de programmation.
– Les participants doivent avoir un poste de travail avec un environnement de développement.
– Avoir déjà une expérience dans la conception logicielle dans le cadre de projets d’entreprise.

Matériel pédagogique :

Les formateurs distribueront les supports de la formation au format électronique PDF à la fin de la formation.

Méthodes pédagogiques :

60% Théorique,40% Pratique

 

 

Informations et inscription

Réservation
Disponible Billets: Illimité
Le billet de Réservation est épuisé. Vous pouvez essayer un autre billet ou une autre date.