Objectifs de la formation
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 ?
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.
Programme
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 micro
- services 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 Gustway dans l’architecture
Monitoring et mise en production
- Tableaux de bord Hystrix L’agréGustur 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
Description 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.
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.
Thèmes : Spring