Introduction aux micro-services
- Les bonnes pratiques : la méthodologie des 12 facteurs
- Application monolithique versus Micro-services
- Faire évoluer une application vers les micro-services
Rappels sur les conteneurs
- Vue d'ensemble de Docker et containerd
- Installer et exécuter des images Docker
- Interagir avec des conteneurs
- Créer ses propres images
- Différence entre les dépôts privés et publics
Kubernetes : Les bases
- Créer un cluster Kubernetes : sur votre poste de travail, dans votre datacenter ou dans le cloud.
- Architecture et composants de Kubernetes (côté Control Plane et Node)
- Cycle de vie d'une requête kubectl
- Déployer une application sur plusieurs machines
- Explorer une application
- Exposer une application sur le réseau
- Passage à l'échelle
- Kubernetes : Les principaux concepts
- Vue d'ensemble des Pods
- Interagir avec les Pods
- Configuration et sécurité d'une application
- Vue d'ensemble des Services
- Créer ses propres services pour exposer ses applications
- Organiser ses Pods avec les Labels
Déployer ses micro-services
- Stratégies de déploiement en mode Cloud-Native
- Stratégies de calcul intensif (Jobs)
- Cas pratique : déploiements avec kubectl et yaml
- Stratégies de passage à l'échelle (Replicasets et Daemonsets)
- Cas pratique : utilisation des réplicas
- Cas pratique : installation d'un gestionnaire de journaux distribués
- Stratégie de mise à jour logicielle (Deployments)
- Cas pratique : Rolling update
- Gérer simplement ses mises à jour
- Techniques avancées : déploiement blue/green, canary
- Cas pratique : Déploiement continu GitOps avec ArgoCD
Gérer la persistance de données
- Stockages volatiles et persistants
- Déploiement des bases de données distribuées
- Cas pratique : installation de MongoDB et Redis en mode distribué
Observabilité de Kubernetes
- - Introduction à l'observabilité avec OpenTelemetry
- Types de données d'observabilité
- Composant de cluster et d'infrastructure
- Stratégie d'observabilité Cloud Native
- Déploiement d'une solution capable de collecter les logs : FluentD
- Déploiement d'une solution capable de collecter les métriques : Prometheus
- Déploiement d'une solution capable de corréler les traces : OpenTelemetryOperator
- Outil de visualisation unifié : Grafana
- Multiples composants
- API server
- Contrôleur
- Proxy réseau
- Identification des problèmes au sein d'un cluster
- Comprendre l'intérêt et les caractéristiques des microservices
- Savoir déployer des applications Cloud-Native
- Maîtriser Kubeadm, l'outil d'installation de Kubernetes
- Comprendre comment déployer Kubernetes en production
- Déployer à grande échelle ses applications sur un cluster ou dans le cloud
- Permettre le passage à l'échelle automatique des applications
- Mettre en place la haute-disponibilité et l'auto-réparation des services logiciels
- Optimiser le stockage de grandes masses de données avec les volumes
- Disposer d'un monitoring avancé de l'infrastructure et des applications
- Automatiser la mise à jour des versions logicielles de ses applications
RNCP36061BC01 - Automatiser le déploiement d'une infrastructure dans le cloud
Présentation d'un projet réalisé en amont de la session 0h30
En amont de la session, le candidat réalise un projet conformément à un cahier des charges et prépare un dossier de projet ainsi qu'un support de présentation de type diaporama. Lors de l'examen, il remet au jury le dossier de projet. Les détails relatifs à la structure et du contenu de ce dossier figurent ci-dessous dans la rubrique « Informations complémentaires concernant la présentation d'un projet réalisé en amont de la session ». Le jury dispose de 10 minutes pour prendre connaissance du dossier de projet, pendant ce temps-là le candidat prépare sa présentation dans une autre salle. Le candidat présente ensuite son projet au jury à l'aide d'une présentation de type diaporama. La présentation dure 20 minutes.
Entretien technique 0h20
Le jury questionne le candidat sur la base de son dossier de projet et de sa présentation, afin de s'assurer de la maîtrise des compétences couvertes par le projet. Un questionnement complémentaire lui permet d'évaluer les compétences qui ne sont pas couvertes par le projet.