Description
Durant de longues années les développements monolithiques représentaient la majorité des développements réalisés. L’émergence des Cloud, des outils de virtualisation, et l’importance croissante de la haute disponibilité des solutions ont modifié la façon de concevoir les applications. Les microservices représentent une solution dynamiques et performantes pour répondre aux défis d’aujourd’hui.
A l’issue de la formation, le stagiaire sera capable de concevoir, développer et déployer des microservices en utilisant les bonnes pratiques et les technologies adaptées.
Objectifs
- Comprendre l'architecture des microservices et identifier ses avantages
- Analyser différents frameworks et identifier le plus approprié au déploiement d'un microservice
- Distinguer les différents contenueurs (Docker, Azure) et leurs avantages pour les microservices
- Sécuriser la communication entre microservices
- Réaliser des tests pour assurer la qualité et la fiabilité des applications > Développer un microservice
Récapitulatif
Public
Développeurs, architectes
Prérequis
Niveau : Connaissances en langage Java
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Comprendre l'architecture des microservices et identifier ses avantages
- Comprendre les avantages / inconvénients des microservices vs architecture monolithique,
- Découvrir les partons de conception (Design Patterns) : API Gateway, Service Discovery
- Exemples de travaux pratiques : Rétro concevoir une application monolithique
Analyser différents frameworks et identifier le plus approprié au déploiement d'un microservice
- Créer un service REST avec Spring Web
- Configurer Spring Cloud
- Exemples de travaux pratiques : Développer un service de gestion d'utilisateurs
Sécuriser la communication entre microservices et Développer un microservice
- Implémenter la sécurité avec OAuth2
- Exemples de travaux pratiques : Connexion de deux services via API REST
Gérer la tolérance aux pannes
- Retry
- Fallback
- Exemples de travaux pratiques Mettre en place un système de tolérance aux pannes
Distinguer les différents conteneurs (Docker, Azure) et leurs avantages pour les microservices
- Créer des images Docker
- Orchestrer en respectant les bonnes pratiques de Kubernetes
- Exemples de travaux pratiques : Déployer un service sur un cluster local
Réaliser des tests pour assurer la qualité et la fiabilité des applications
- Présentation de Prometheus / Grafana,
- Comprendre les métriques, logs et traces distribuées
- Exemples de travaux pratiques : Configurer un tableau de bord de monitoring