Objectifs
Les systèmes logiciels modernes, qu'ils soient ou non en micro-services, nécessitent toujours plus d'attention à leur architecture logicielle. Au-delà d'assurer un bon fonctionnement avec les performances et le coût attendu, l'architecture vise de plus en plus à répondre aux enjeux de modularité, d'autonomie des équipes, de modernisation d'existant, de cohérence à l'échelle.
Comprendre la démarche et les raisonnements
Cette formation introduit les concepts essentiels, dont certains empruntés à DDD, couvre les techniques et patterns clés d’architecture ainsi que les principales technologies nécessaires pour les mettre en œuvre dans un nouveau contexte ou dans un environnement legacy.
Assurer une architecture pragmatique et sécurisée à l'ère de l'IA et du CRA* (Cyber resilient Act)
Vous verrez une synthèse de l'état de l'art du Software Craft, les retours d'expérience accumulés pour maîtriser la dette technique qui nuit à la maintenabilité et à l'évolutivité des systèmes.
Connaître les principaux patterns et styles architecturaux
Face à ces enjeux, la somme des compétences nécessaires semble considérable. Nous vous proposons une synthèse compacte et structurée, pour la mise en œuvre avec un parcours de l'histoire pour observer l'évolution des patterns architecturaux.
Résoudre les principales problématiques d'une architecture en production
Cette formation décrit aussi des trajectoires de migration et de cohabitation avec le legacy, ainsi que les enjeux humains associés.
Identifier les couplages et les critères de modularité
La modularité représente un element essentiel pour gérer efficacement la scalabilité et la disponibilité, pour la transformation vers des services stateless ou en restant en monolith modulaire. Cette formation vous permet de préparer votre migration vers une architecutre plus modulaire.
Intégrer la sécurité au plus tôt (Security by Design)
Laissé souvent en dernier, la sécurité merite d'être ramenée et discutée en amont (shift left). Puisque nos contraintes réglementaires évoluent avec l'arrivée du Cyber Resilience Act* (CRA), cette formation vous aide à penser sécurité en amont.
Programme
Introduction à l’Architecture
Les multiples définitions de l’architecture technique : une question de stabilité, grande échelle, savoir partagé, décisions irréversibles
Architecture comme moyen d’alignement entre les objectifs de l'entreprise et ses systèmes d’information
Les perspectives d'Architecture
Architecture vs. Architecte
Architecture Émergente
Principes d'architectures modulaire
Aperçu des Bounded Contexts et du Context Mapping
Comment modulariser pour favoriser l'autonomie locale
Microservices vs. Modular Monolith
L'importance des contrats rétrocompatibles entre modules
Federated vs. Centralized Data
Réaliser les conséquences en terme de duplication (DRY vs Coupling) et de cohérence à terme (Eventual Consistency)
Overview de styles d’architecture
Event-Driven Architecture
Choregraphie vs. Orchestration, forces et faiblesses respectives
Microservices Architecture, Smart Endpoints & Dumb Pipes
Architecture Hexagonale
Entreprise Integration Patterns (EIP, Gregor Hohpe), Integration styles, PoEAA (Fowler)
Notions de design d'API
Architecture globale vs. locale, Umbrella diagrams
Technical Architecture
Asynchronous messaging, queues vs topics, Events vs. Commands
Data consistency: Golden Source, replication, autonomy vs. authority
Fault-tolerance, Load balancing
Stateless vs. statefull, consequences, stickiness & affinité, managing sessions
Configuration, Discovery
Logging & tracing guidelines, Monitoring: guidelines, tools
Integration in practice: reconciliation, data migration
Notions de Test-Driven Architecture, métriques, static analysis
L’importance de la communication en architecture, techniques et astuces
Notions de Living Documentation appliquée à l’architecture
Legacy migration patterns
Principes de Legacy Cohabitation et non de Big Bang
Strangler Application Pattern
Legacy Read Model, Macroservice, Change Data Capture patterns appliqués au legacy
Principes de raisonnement de ROI sur les décisions de modernisation
Autres patterns de Legacy
Architecture sécurisée & conformité (CRA)
Intégration de la sécurité par Conception
(Security by Design). Répondre aux obligations
réglementaires du Cyber Resilience Act (CRA),
Public et prérequis
Cette formation s’adresse aux développeurs expérimentés, team leads, responsables d’architectes, mais aussi aux architectes confirmés ou en devenir.
Connaissance de différents langages de programmation avec des bonnes connaissances en design objet. Avoir déjà une expérience dans le développement de logiciel. Les participants doivent avoir un poste de travail avec un environnement de développement.
Matériel pédagogique
Les formateurs distribueront les supports de la formation au format électronique PDF à la fin de la formation.
Les participants doivent avoir un poste de travail avec un environnement de développement.
A savoir
La formation est donnée en français ou en anglais. Les supports de formation sont en anglais.
Pour toute personne en situation de handicap, n’hésitez pas à nous contacter au 07 63 74 20 95 ou à formation@arolla.fr.
Par ailleurs, toutes nos formations sont accessibles en distanciel.