Objectifs

-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.

Programme

-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

– Agilité, DevOps et microservices

– 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

– 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

– Codes d’erreurs HTTP et verbes HTTP

– 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

– Présentation de frameworks Java « tout en un ».

– Comparaison entre SpringBoot et Dropwizard.

– Développer une application avec Dropwizard ou SpringBoot.

– Packager une application production-ready.
Travaux pratiques
Développer une application avec SpringBoot.

– Introduction au logiciel Docker

– Les conteneurs dans Docker Lancer les conteneurs
Travaux pratiques
Création d’un conteneur personnalisé avec Docker.

– Techniques d’optimisation de déploiement.

– Mettre en œuvre une application multi-conteneurs avec Docker Compose.

– Solutions d’infrastructure pour les microservices (Kubernetes, Mesos, Swarm).

– Solutions Cloud (Cloud Foundry, Heroku).
Travaux pratiques
Mise en place d’une architecture multi-conteneurs avec Docker Compose.

– Centralisation des logs.

– Le monitoring de microservices.

– Métriques et Health Check.
Travaux pratiques
Mise en place de métriques d’une application pour les visualiser.

Référence :  WEB037

Type de Stage : Pratique

Durée : 3 jours

Public concerné:

Chefs de Projet et développeurs

Prérequis:

Bonnes connaissances du langage
Java, connaissances de base de
l’administration Linux.