Objectifs pédagogiques / Compétences visées
- Identifier les protocoles utilisés dans les microservices
- Interpréter l'apport des microservices dans une architecture répartie
- Développer vos microservices en Java
- Déployer des microservices.
Niveau requis
Avoir de très bonnes connaissances du langage Java.
Public concerné
Développeurs et architectes.
Programme
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
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
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 SoapUI
- Tester un service avec Postman et son extension Chrome
Réaliser un microservice avec Java
- Création d'un simple microservice avec Jersey
- Test du microservice
- Présentation du framework Spring Boot
- Création d'un microservice grâce à Spring Boot
Les conteneurs des microservices
- Introduction au logiciel Docker
- Les conteneurs dans Docker
- Lancer les conteneurs
Déploiement des microservices
- Déploiement d'un microservice avec Docker
- Présentation des offres concurrentes : Kubernetes et Mesos
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)