Gate Training

logo-png
Java - Java EE

Formation Architecture Microservices avec Spring Cloud et Spring Cloud Kubernetes

5 Jours

Description de la formation Architectures Microservice Spring Cloud Kubernetes

Cette formation est divisée en deux parties; Spring Cloud et Spring Cloud Kubernetes.

Spring Cloud fournit tous les services techniques nécessaires à la mise en place d’une architecture micro-service. Généralement associé à Spring Boot, il permet de rapidement composer des applications à partir de services unitaires et de les déployer sur une architecture de production nécessitant scalabilité et monitoring en temps-réel.

De son côté, la société Pivotal propose depuis plusieurs années l’environnement Spring Cloud dédié à l’élaboration d’architecture microservices. Ce framework se base sur Spring, Spring Boot et des API définissant les services techniques nécessaires à une architecture microservices (discovery, load-balancing, circuit-breaker pattern…).

Les applications développées via ce framework sont naturellement adaptées aux infrastructures de déploiement basées sur les orchestrateurs de conteneurs. Le projet Spring Cloud Kubernetes fournit des implémentations de l’API via des services natifs Kubernetes ainsi que de nombreux ourtils facilitant le déploiement sur ce type de plateforme.

Cette formation permet, au travers de divers ateliers (voir le détails des travaux pratiques), d’implémenter une architecture micro-services composée de micro-services applicatifs et des micro-services techniques directement apportés par SpringCloud. Les aspects sécurité, monitoring et scalabilité de l’architecture sont démontrés. Puis, après un des rappels sur l’environnement Spring Cloud, sa common API et l’infrastructure Kubernetes, elle poursuit avec la mise en place d’un environnement de développement basé sur des distributions minimales de Kubernetes ou des serveurs mockés. Enfin, l’ensemble des starters Spring Cloud Kubernetes et leurs APIs sont présentés.

Objectifs

Concrètement, à l’issue de cette formation Architectures Microservice Spring Cloud Kubernetes, vous serez en mesure de:

  • Mettre en oeuvre une configuration centralisée et maitriser le service de discovery
  • Connaitre les clients des microservices
  • Maitriser le monitoring et la mise en production
  • Connaitre la sécurité dans Spring Cloud
  • Connaître les bonnes pratiques de développement liées à Spring Cloud Kubernetes
  • Comprendre les diférentes approches disponibles pour l’implémentation des services techniques liés aux architectures microservices

À qui s’adresse cette formation ?

Public :

Ce cours s’adresse à des programmeurs, des développeurs et des chefs de projets, ainsi qu’aux équipes de développement envisageant de déployer leurs microservices Spring Cloud sur des infrastructures Kubernetes.

 

Prérequis :

Pour suivre ce stage, il est nécessaire de connaître le langage Javat et de posséder un certain niveau de connaissance Spring Core.

 

Contenu du cours Architectures Microservice Spring Cloud Kubernetes

Introduction à Spring Cloud

L’approche DevOps et les architecture micro-services
Découpage d’une application monolithique
Pré-requis sur l’infrastructure
Patterns de composition des services
Identification des services techniques
L’offre SpringBoot/SpringCloud

Configuration centralisée et service de discovery

Configuration centralisée
Service Eureka
Scalabilité, tolérance aux pannes

Travaux Pratiques :

Architecture avec 2 micro-services applicatifs et les services config et eureka

Clients des microservices

Pré-requis pour le client : Répartition de charge et résilience
Client Feign
Répartion de charge avec Ribbon
Disjoncteurs avec Hystrix
Routing et Proxy avec Zuul

Travaux Pratiques :

Ajout d’un micro-srvice « back-end » dans l’architecture. Répartion de charge et résilence. Ajout d’une gateway dans l’architecture

Monitoring et mise en production

Tableaux de bord Hystrix
L’agrégateur Turbine
Centralisation des traces avec ELK
Déploiement sur une infrastructure Docker, alternatives Kubernetes, Docker Swarm

Travaux Pratiques :

Mise en place de turbine et ElasticStack
Création d’un docker-compose, démarrage de l’architecture sur une infrastructure Docker

Sécurité

Alternatives pour l’implémentation de la sécurité
Rappels oAuth2
SpringBoot et oAuth2
Spring Cloud Security

Travaux Pratiques :

Déploiements d’images Docker sur une infrastructure cloud

Rappels sur Spring Cloud Microservices

Architecture microservices et bénéfices attendus
Services techniques nécessaires
Les projets Spring Cloud et l’API common
L’orchestrateur Kubernetes : architecture, types de ressources
Service Kubernetes : DNS, Config Map, Sécurité, Helm, Ingress, Istio, Promotheus
Spring Cloud Kubernetes : objectifs et starter disponibles

Environnement de développement

Profil Kubernetes de l’application Spring Boot
Mock d’un serveur Kubernetes
Kubernetes pour le développement
Intégration avec les outils de build, plugins Maven et Gradle

Atelier

Mise en place de l’environnement de développement

Discovery

DiscoveryClient pour Kubernetes
Gestion des namespaces
Rechergement dynamique
Service natif Kubernetes de découverte
Répartition de charge côté client avec Ribbon

Atelier

Comparaison des différentes approches pour le service de Discovery

Configuration

Utilisation de ConfigMap, gestion des namespaces, des profils
Gestion des secrets
Rechargement dynamique

Atelier

ConfigMap, Secrets, Rechergement, Gestion des profils

Istio

Le profil Istio
L’API istio-client

Atelier

Profil Istio et découverte des règles

Travaux Pratiques

Ce cours propose 75% d’ateliers pratiques pour une meilleure assimilation des connaissances.

Les travaux pratiques s’appuient sur l’IDE Spring Tools Suite. Voici quelques détails des travaux pratiques mis en place durant la formation:

  • Architecture avec Eureka et le serveur de configuration.
  • Ajout d’un micro-services.
  • Utilisation des clients Feign et des capacités Ribon et Hystrix.
  • Mise en place de Zuul.
  • Monitoring Turbine ELK.
  • Déploiement sur une infrastructure Docker.
  • Mise en place de la sécurité.
Réf:

0017

Tarif:

600 Dt

Niveau:

Intermédiaire

Classe à distance:

Possible

Pas de sessions disponibles