Formation Architecture Microservices avec Spring Boot et Spring Cloud
5 JoursDescription de la formation Microservices Spring Boot et Spring Cloud
L’écosystème Spring se tourne résolument vers les architectures microservices.
Spring Boot simplifie à l’extrême le démarrage, la configuration et le déploiement d’un projet Spring.
Spring Cloud fournit quant à lui tous les services techniques nécessaire à la mise en place d’une architecture microservices.
Combinés, les deux frameworks permettent de composer rapidement et efficacement des applications à partir de services unitaires et de les déployer sur une architecture de production nécessitant scalabilité et monitoring en temps réel.
Cette formation Microservices avec Spring Boot et Spring Cloud présente dans un premier temps les fonctionnalités du framework SpringBoot, son intégration dans l’IDE Spring Tool Suite, ainsi que ses apports pour les différentes couches applicatives (JPA, Rest/MVC, Test) et pour la mise en production d’application.
La seconde partie est consacrée à SpringCloud : après avoir présenté les fondements du framework et les principes DevOps, les différents services techniques nécessaires aux architectures microservices et apportés par Spring Cloud sont passés en revue.
Objectifs
Objectifs opérationnels :
Implémenter une architecture microservices composée de microservices applicatifs et de microservices techniques directement apportés par SpringCloud.
Objectifs pédagogiques :
À l’issue de cette formation Microservices avec Spring Boot et Spring Cloud, vous serez en mesure de :
- Connaître les fonctionnalités du framework Spring Boot
- Maîtriser ses apports pour les différentes couches applicatives (JPA, Rest/MVC, Test) et pour la mise en production d’application
- Mettre en place un environnement de développement pour les projets SpringBoot
- Maîtriser les concepts d’auto-configuration de Spring Boot
- Gérer la configuration centralisée et le service de discovery avec Spring Cloud
- Gérer le monitoring et la mise en production avec Spring Cloud
À qui s’adresse cette formation ?
Public :
Ce cours Microservices avec Spring Boot et Spring Cloud cible principalement les programmeurs, développeurs, et chefs de projet.
Prérequis :
Pour suivre cette formation Microservices avec Spring Boot et Spring Cloud, il est nécessaire de connaître le langage Java et d’avoir certaines connaissances de Spring Core.
Contenu du cours Microservices Spring Boot et Spring Cloud
Introduction à Spring Boot
Rappels Spring Core
L’offre Spring Boot
Pré-requis, installation, intégration dans STS
Travaux Pratiques :
Exécution d’une application Spring Boot via Spring CLI, création de projet dans STS
Premiers pas avec Spring Boot
Gestion des dépendances
Structure projet et options pour la configuration
Exécution, support pour le développement
Configuration des propriétés, fichier .yml
Configuration des traces
Travaux Pratiques :
Création d’une application web, configuration via le fichier .yml
Persistance des données avec Spring Data
Principes de Spring Data
Configuration base SQL
Spring Boot et JPA
NoSQL. L’exemple MongoDB
Autres types de supports de persistance (Redis, Cassandra, ElasticSearch)
Travaux Pratiques :
API de persistance pour une base de données relationnelles et NoSQL
Applications Web et API Rest avec Spring MVC
Rappels Spring MVC
Spring Boot et Spring MVC
Rest et HATEOAS
Servlet Containers supportés
Technologies de présentation
Travaux Pratiques :
Mise en place de contrôleurs Web et Rest, configuration Spring Boot
Spring Boot et le test
Types de tests
Configuration
Mocking
Tests auto-configurés
Utilitaires
Travaux Pratiques :
Mise en place de tests et mock objects pour toutes les couches applicatives
Auto-configuration
L’annotation @Conditionnal
Séquencement des auto-configurations
Packaging et starter
Travaux pratiques :
Création d’un module starter
Mise en production
Configuration de production
Spring Boot Actuator
Déploiement vers le cloud
Travaux Pratiques :
Mise en œuvre de Spring Boot Actuator
Sécurité et Spring Boot
Rappels Spring Security
Modèle stateful et modèle stateless
Apports de SpringBoot
JWT
oAuth2
Introduction à Spring Cloud
L’approche DevOps et les architecture microservices
Découpage d’une application monolithique
Pré-requis sur l’infrastructure
Patterns de composition des services
Identification des services techniques
L’offre SpringBoot/SpringCloud
Configuration centralisée et service de discovery
Configuration centralisée
Service Eureka
Scalabilité, tolérance aux pannes
Travaux Pratiques :
Architecture avec deux microservices applicatifs et les services config et eureka
Clients des microservices
Pré-requis pour le client : Répartition de charge et résilience
Client Feign
Répartition de charge avec Ribbon
Disjoncteurs avec Hystrix
Routing et Proxy avec Zuul
Travaux Pratiques :
Ajout d’un microservice « back-end » dans l’architecture
Répartion de charge et résilence
Ajout d’une gateway dans l’architecture
Monitoring et mise en production
Tableaux de bord Hystrix
L’agrégateur Turbine
Centralisation des traces avec ELK
Déploiement sur une infrastructure Docker, alternatives Kubernetes, Docker Swarm
Travaux Pratiques :
Mise en place de turbine et ElasticStack
Création d’un docker-compose, démarrage de l’architecture sur une infrastructure Docker
Sécurité
Alternatives pour l’implémentation de la sécurité
Rappels oAuth2
SpringBoot et oAuth2
Spring Cloud Security
Travaux pratiques :
Déploiement d’images Docker sur une infrastructure Cloud
Travaux Pratiques
Cette formation propose une alternance de pratique et de théorie (50% / 50%) pour une meilleure assimilation des connaissances. Les travaux pratiques s’appuient sur l’IDE Spring Tools Suite.