L’architecture microservices est devenue incontournable pour construire des applications scalables et maintenables en environnement DevOps. Cette formation vous apprend à concevoir, développer et déployer des microservices Java avec Spring Boot et Quarkus, en les containerisant avec Docker et en les orchestrant avec Kubernetes. Vous aborderez également les enjeux de communication REST, de documentation Swagger et de sécurité entre services.
Public visé
Développeurs et architectes ayant de très bonnes connaissances du langage Java.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Reconnaître l’architecture microservices et identifier ses avantages
- Analyser les différents frameworks et identifier le plus adapté
- Distinguer les différents conteneurs (Docker, Azure) et leurs avantages
- Sécuriser la communication entre microservices
- Développer un microservice
Programme
Jour 1 - Matin
Bénéfices d’une architecture à microservices
- Agilité, DevOps et microservices : le trio gagnant
- La spécialisation des équipes et le gain en productivité
- Isolement et indépendance des services
- Séparation des rôles, évolutivité et modularité
- Adaptation à la montée en charge (scalabilité)
- Impact sur le déploiement
Travaux pratiques
- Etude d’un problème client pouvant être résolu par une architecture microservices
Présentation des microservices
- Qu’est-ce qu’une architecture microservices ?
- Liens entre microservices et SOA
- Différence entre Web Services et microservices
- Les microservices au centre du métier
- Microservices et monolithe
- Caractéristiques des microservices
- Les problèmes centraux : les données et la complexité d’une architecture répartie
- Le problème des données de contexte
- Tolérance aux pannes
- Avantages et inconvénients
Travaux pratiques
- Conception d’une architecture à base de microservices en partant d’exigences clients de TimeToMarket et de déploiement
Jour 1 - Après-midi
Architecture à base de microservices
- La base des microservices : HTTP
- Rappels sur le protocole HTTP
- Exploitation de HTTP pour l’accès aux services REST
- Les différents niveaux d’implémentation de REST : du level 0 à 3
- Codes d’erreurs HTTP et verbes HTTP
- “Path”
- Présentation de la norme Swagger
- Décrire et documenter les endpoints avec Swagger
- Tester un service REST avec Postman et son extension Chrome
- Un objectif ultime : HATEOAS
Travaux pratiques
- Ecriture de microservices indépendants
Jour 2 - Matin
Réaliser une application microservices avec Java
- Présentation des principaux frameworks Java pour la création de microservices :
- Spring boot / Spring Cloud
- Quarkus
- Micronaut…
- Composants d’une application microservices
- Outils nécessaires pour la création d’une application microservices
Jour 2 - Après-midi
Travaux pratiques
- Création d’un microservice avec Spring Boot et Spring Cloud
- Création d’un microservice avec Quarkus
Jour 3 - Matin
Les conteneurs, l’allié des architectures microservices
- Comprendre Docker et son rôle dans les architectures microservices
- Comparaison avec les machines virtuelles
- Installation et configuration de docker
Jour 3 - Après-midi
Orchestration et bonnes pratiques pour les microservices
- Automatisation avec Docker Compose
- Gestion des variables d’environnement et des secrets
- Introduction à Kubernetes (k8s) pour les microservices
Travaux pratiques
- Déploiement d’un microservice avec Docker
Sécurisation des microservices
- Sécuriser l’accès aux microservices
- Sécuriser l’accès entre microservices
- Sécuriser le contenu des conteneurs de microservices
- Spécificités de l’environnement de déploiement
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Voir aussi
Vous serez peut-être intéressés par cette formation :
Formation DEV-MICROSERVICES-100 — Développer des microservices. Domaine : Développement. Niveau : Initiation. Durée : 3 jours (21 heures). Mots-clés : microservices, java, spring-boot, docker, kubernetes, architecture. Cylian Formation, Dijon.