Formation Mach : les nouvelles architectures agiles et composables
Vers une architecture en amélioration continue sur base de Microservices, API, Cloud, Headless
Informations générales
MAC24
2 jours (14h)
2 197 €HT
Objectifs
Après ce cours, vous serez capable de :
- Expliquer les nouveaux patterns de l’architecture composable et évolutive
- Expliquer les patterns d’architectures à base de Microservices, API, Cloud, Headless
- Identifier le nouveau rôle de l’architecte dans une organisation agile, ses enjeux d'alignement et de communication
- Expliquer l'architecture agile au travers d’exemples concrets chez des grands comptes et pure players
Public
Ce cours s'adresse avant tout aux personnes suivantes :
- Consultants, architectes, chefs de projets, développeurs
Prérequis
- Aucun
Programme de la formation
Enjeux de la transformation digitale
- Volatility, Uncertainty, Complexity and Ambiguity (VUCA)
- Risque d’Uberisation par les pure players
- L’expérience utilisateur devenue essentielle, le « Design Thinking »
- “Customer obsession” et omnicanalité (multiplication des devices)
- Lean Startup, autre manière de gérer un projet
- Interopérabilité (via API)
- Scalabilité (cloud-ready)
- Design for failure (scalabilité, résilience)
- Maîtrise de sa codebase
- La pérennisation du Legacy
Principes d’architecture agile
- Rappel : la matrice d’architecture en 4 couches
- Patterns classiques du Système d’Information : Royaume-Émissaire, Échanges, Référentiels, SSO, …
- Patterns challengés : Architectures multi-tiers et Server Side Rendering (SSR)
- Les frameworks de développement
- Assurer le Time-to–market (Cloud first, Software second, Dev third)
- Mode produit : l’architecture est en évolution constante, recomposition, refactoring
- Le découplage (SOA, API, Headless)
- La composition, évolutivité, flexibilité (pattern Lego)
- L’Atomic Design
- Les principes DRY (Don’t Repeat Yourself), KISS (Keep It Simple, Stupid), YAGNI (You Ain’t Gonna Need It)
- Le Software Craftsmanship et GenAI
Les nouveaux fournisseurs de technologie
- Déclin des fournisseurs de serveurs (Sun, HP, IBM..)
- Déclin des middleware complexes (BEA, Sun, IBM, Oracle…)
- L’open source et le rôle centrale GitHub
- Montée en puissance des outils des GAFAM (Kubernetes, React, Flutter…)
Les microservice
- MonolithFirst : du monolithe aux micro-services, sans créer d’entropie
- Modulith versus Monolith
- Granularité, composition, orchestration
- Découplage technique : spécialisation, liberté technologique
- Découplage organisationnel : feature teams autonomes
- Domain Driven Design (DDD)
- Data management et persistance indépendante (persistance polygotte, théorème de CAP)
- Command and Query Responsibility Segregation (CQRS)
- Continuous Integration/Delivery (CI/CD) par service
- Scalabilité et résilience : auto-scaling et self-healing avec Kubernetes
API first
- Les principes et modèles d’API
- API management (authentification, traçabilité, disponibilité)
- Technologie Restless plutôt que SOAP
- API as a Product (Stripe, YouSign, DeepL, etc.)
- GraphQL
- Backend for Frontend (BFF)
- Des API pour pérenniser le Legacy
L’architecture Cloud-native
- Scalabilité by design (hardware, software, réseau, systèmes de cache)
- Services managés en best of breed
- Distribution des traitements (load balancing, containers, machines virtuelles, FaaS)
- Architecture synchrone versus event driven
- Asynchronisme en “just enough”
- Distribution du stockage (objets, sql, nosql, no-update)
- Multi-tenancy et feature-flipping
- Infrastructure as code et test driven architecture
- Les outils des hyperscalers (AWS, Azure, GCP)
- Exposition au risque Cyber (exploits, Bug Bounty)
- Sécurité en contexte Cloud : isolation, zero trust, authentification multifacteur
- Un Cloud sous contrainte de coûts, vendor lock-in, souveraineté
Architecture Headless
- User Experience/Interface (UX/UI), Design Thinking, Design System
- Pattern mobile first
- Omnicanalité et reprise de sessions entre devices
- Contenu marketing en Static Site Generation (SSG)
- Contenu applicatif en Single page application (SPA)
- WebApps : responsive (HTML5) et PWA (Progressive Web App)
- Apps : natives (iOS, Android) et hybrides (React native, Flutter, Electron)
- Frameworks web (vue.js, React, Angular)
- Frameworks natifs (Dart)
- Sécurité avec les JSON Web Token (JWT)
- Obsolescence rapide des technologies Front
Impact organisationnel des architectures agiles
- Utiliser les patterns des pure players chez les grands comptes
- Collaboration architecte et tech lead
- Architecture Decision Record (ADR), anti-pattern du schéma directeur
- Roadmap agile et refactoring d’architecture
- Cartographie dynamique du SI
- Exemple d’une startup devenue scale up
Méthode pédagogique
Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.
Méthode d'évaluation
Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.
Mis à jour le 09/08/2024