Présentation
- Un nouveau framework Java ?
- La comparaison avec Spring Boot.
- Quid de Java EE et Jakarta EE ?
- Les architectures microservices.
- Le standard MicroProfile
Premiers pas avec Quarkus
- Création d'un projet "Hello world".
- L'outillage pour le développeur (Dev Services).
- Les processus de développement, débogage et build.
- Le framework de test Quarkus.
- L'environnement Docker.
- Tour d'horizon des extensions Quarkus.
Travaux pratiques
Prise en main de l’environnement et développement d’un premier microservice, expérimentation du live coding, du débogage, du test continu.
Communication HTTP/RESTful et GraphQL
- Rappels sur les principes de REST.
- Utilisation de Jakarta RESTful.
- Apports de GraphQL.
- Documentation des endpoints (Open API).
- Écriture d'un client HTTP.
- Sécurité et authentification.
- Implémentation des "Long Running Actions".
Travaux pratiques
Création de services RESTful et GraphQL, interrogation depuis un deuxième microservice Quarkus.
La tolérance à la panne
- Le principe de résilience.
- Pourquoi est-ce important ?
- La programmation défensive.
- Circuit Breaker, Bulkhead.
- Les autres patterns.
Travaux pratiques
Mise en pratique des 6 patterns de tolérance à la panne du standard MicroProfile.
Communication orientée message
- La programmation réactive.
- Les bénéfices et principales difficultés.
- Comment gérer les transactions ?
- Le pattern Saga.
- La communication asynchrone (ActiveMQ, Kafka...).
Travaux pratiques
Mise en place d'une communication orientée message avec Kafka entre deux microservices.
Mise en production
- Mécanisme de configuration pensé pour les conteneurs.
- Stratégie de construction des images.
- HotSpot et GraalVM.
- Compilation AOT, un changement radical.
- Déploiement sur Kubernetes.
Travaux pratiques
Construction des images Docker Open Container Initiative (OCI) pour un déploiement sur un orchestrateur cloud. : classiques (OpenJDK) et Ahead Of Time (AOT, GraalVM).
Supervision en production
- Définition des Health Check.
- Gestion des logs éparpillés.
- OpenTelemetry le nouveau standard.
- Les métriques systèmes et personnalisées.
Travaux pratiques
Définition d'un Endpoint Health check personnalisé, recueil et affichage des données de télémétrie dans Prometheus.