Présentation
Concevez, développez, conteneurisez et déployez une architecture microservices complète en Java : REST, Swagger, SpringBoot/Dropwizard, Docker, Kubernetes et monitoring.
Objectifs de la formation
- Comprendre l'évolution des architectures : du monolithe aux microservices
- Mettre en œuvre des services REST avec Java et les documenter avec Swagger
- Développer un microservice avec SpringBoot ou Dropwizard
- Exécuter des microservices dans des conteneurs Docker
- Déployer une architecture multi-conteneurs (Docker Compose, Kubernetes)
- Administrer et monitorer : logs centralisés, métriques, health checks
Programme détaillé
Introduction & architectures microservices
- Évolution logicielle et organisationnelle, avantages/inconvénients du monolithe
- Méthodologies agiles, pratiques DevOps, CI/CD
- Définition, caractéristiques et acteurs des microservices
Communications dans une architecture microservices
- REST request/reply vs Publish-Subscribe Messaging
- Services REST avec Java, principe HATEOAS
- Documentation avec Swagger, tests avec SoapUI
Développer un microservice en Java
- Frameworks « tout en un » : SpringBoot vs Dropwizard
- Packaging d'une application production-ready
- TP : développer une application avec Dropwizard ou SpringBoot
Exécuter un microservice à l'aide de conteneurs
- Fonctionnement des conteneurs avec Docker
- Concevoir des images personnalisées
- TP : création d'un conteneur personnalisé
Déploiement & monitoring
- Docker Compose, Kubernetes, Mesos, Swarm, solutions Cloud
- Centralisation des logs, métriques et health checks
- TP : architecture multi-conteneurs et mise en place de métriques