Ce que vous allez apprendre
Ecrire des Pipelines CI/CD Créer, optimiser des pipelines CI/CD avec GitLab CI pour automatiser le déploiement d'une application
Provisionner, Configurer et Gérer des infrastructures complètes de manière automatisée et scalable dans Azure. Deux outils Pulumi et Ansible
Conteneuriser des applications avec Docker et d'utiliser Kubernetes pour orchestrer des déploiements complexes
Gérer les logs des applications avec Loki
Monitoring avancés avec Prometheus et Grafana
Programme
- Introduction au DevOps
- Programmer en python
- Déployer votre application dans des Conteneurs avec Docker
- Gitlab Intégration Continue (CI) et Livraison Continue (CD)
- Stocker vos livrables avec Nexus
- Créer votre infrastructure dans Azure avec Pulumi
- Collecter les métriques de votre application avec Prometheus
- GitOps: Git le point de stabilité
-
Mettre en place un cache
Curriculum
Introduction au DevOps - Organisation des équipes
Available in
days
days
after you enroll
Organisation des équipes
Available in
days
days
after you enroll
Présentation du serveur
Available in
days
days
after you enroll
Linux
Available in
days
days
after you enroll
- Connexion à un serveur (12:34)
- Connexion au serveur avec une clé SSH (9:13)
- Informations sur un serveur (11:47)
- Se déplacer sur un serveur (3:21)
- Arborescence du serveur (4:51)
- Manipuler des fichiers et des répertoires (8:33)
- TRAVAUX PRATIQUE : Manipuler les fichiers et les répertoires
- Obtenir de l'aide (3:57)
- Identifier les types de fichiers (6:06)
- Gérer les redirections (14:02)
- présentation des droits (7:37)
- présentation des groupes et utilisateurs (4:45)
- Gestion des groupes d'utilisateurs (3:14)
- Gestion des utilisateurs et des mots de passe (7:44)
- Gestion des sudoers (5:03)
- Attribution des droits sur les fichiers et les répertoires (10:13)
- Gestion du contenu d'un fichier (4:28)
- Gestion des processus (5:14)
- Présentation du gestionnaire de paquets (3:39)
- Informations
Reseaux
Available in
days
days
after you enroll
- Présentation des réseaux (7:48)
- QUIZZ Présentation des réseaux
- Topologie réseau (8:23)
- Quizz Topologie réseau
- Protocoles pour le transfert de données (2:43)
- Quizz Protocoles
- Présentation des protocoles TCP et UDP (4:14)
- Quizz TCP et UDP
- Présentation d'une adresse IP (5:29)
- Format d'une adresse IP (3:56)
- Adresses en fonction de la classe (2:36)
- 08 Format d'une adresse IP (12:58)
- Quizz IP
- Présentation des protocoles et des ports (2:49)
- Présentation des firewalls (2:03)
- Présentation des DNS (3:38)
- Quizz DNS
- Conclusion Réseaux (0:41)
- LIVE CODING 22 Fevrier (156:35)
SHELL
Available in
days
days
after you enroll
- Présentation des shell (3:51)
- Création et exécution d'un shell (9:46)
- Gestion des variables (8:36)
- Transmission des paramètres (11:18)
- TP créer des répertoires (1:01)
- Gestion des conditions (14:44)
- TRAVAUX PRATIQUE : Gestion des conditions
- Effectuer les actions avec les boucles (7:33)
- TRAVAUX PRATIQUE : Effectuer les actions avec les boucles
- Factoriser les actions avec les fonctions (7:59)
- TRAVAUX PRATIQUE : Factoriser les actions avec les fonctions
- Conclusion (0:55)
- Projet à réaliser (208:15)
- Live Coding du 1er Mars (175:46)
GIT
Available in
days
days
after you enroll
- Présentation (2:36)
- Importance (3:49)
- Vocabulaire (4:14)
- Etats d'un projet (3:44)
- Installation et configuration (6:27)
- Initialisation du répertoire (4:49)
- Liaison avec le repository distant (7:28)
- Connexion sécurisée avec gitlab (2:53)
- Cloner un répertoire existant (9:39)
- Suivre une modification (4:19)
- Cloner une branche (11:55)
- [MERGE] fusionner des branches (4:56)
- [REBASE] fusionner des branches (7:01)
- Ignorer des fichiers (3:18)
- Renommer le dernier commit (3:31)
- Renommer un commit (5:38)
- Fusionner plusieurs commits (2:23)
- Configurer des alias (3:57)
- Définir des hooks (3:43)
- Conclusion (0:41)
PYTHON
Available in
days
days
after you enroll
- Présentation (3:10)
- Présentation des IDE (2:27)
- Installation de Python (2:45)
- Présentation de l'interpréteur de commandes (3:08)
- Rédaction du premier script (5:19)
- Exécution des instructions (4:22)
- Création et utilisation des variables (8:50)
- Mis en forme du code (3:54)
- Insertion de commentaires (2:04)
- Import d'un module externe (2:43)
- Lecture de données (4:28)
- Les conditions (1ère partie) (4:06)
- Les conditions (2e partie) (4:29)
- Condition linéraire (2:23)
- Les boucles (3:36)
- Gestion des fichiers (2:34)
- Les fonctions (8:49)
- Présentation du mot clé main (4:09)
- Création d'un environnement virtuel (3:56)
- Créer et interroger une API (6:43)
- Gérer les exceptions (5:47)
- Afficher les logs (6:43)
- Conclusion (0:51)
- Projet à réaliser
- Live coding (202:13)
- Projet à réaliser
- Live coding (180:03)
Docker
Available in
days
days
after you enroll
- Introduction to Containerization
- Hands-on Experience with Docker
- Managing Containers with Docker
- Introduction (3:20)
- Présentation de Docker (5:23)
- Solutions apportées par docker (3:07)
- Présentation de la virtualisation (9:28)
- Virtualization Vs Docker (1:48)
- Position de docker dans un SI (9:10)
- Installer Docker (3:05)
- Fonctionnement de Docker (1:32)
- Gestion des images (7:40)
- Présentation de Nginx (3:23)
- Exécution d'une image (11:48)
- Architecture Nginx (5:28)
- Accéder à un conteneur (12:44)
- Transmettre des données à un conteneur (15:08)
- Créer une image (10:10)
- Exécuter une image (6:15)
- Exécuter plusieurs fois la même image (6:57)
- [Docker compose] exécuter une image (10:07)
- Description docker compose (9:24)
- Présentation des travaux à réaliser (4:55)
- Gestion des réseaux (5:34)
- Mongo et mongo express (9:07)
- Gérer des variables d'environnement (9:53)
- Créer des volumes (8:14)
- Déléguer la gestion des volumes à mongo (6:10)
- Configurer un reverse proxy Nginx (13:41)
- Configurer un vhost en local (6:28)
- Démo du projet (10:35)
- Dockerization API python (9:08)
- Exécution du conteneur (10:26)
- Réduction de la taille d'une image - dockerignore (9:24)
- Construire un image en plusieurs étapes (10:27)
- Transférer votre image sur Docker Hub (4:44)
- Nettoyer votre système (2:22)
- Conclusion (1:39)
- Travaux Pratiques 1 - Deployer le projet sans Reverse Proxy (4:31)
- Travaux Pratiques 2 (2:09)
- Travaux Pratiques 3 - Déployer un reverse proxy (2:40)
- Livecoding: Les bases de docker (173:50)
- Live coding correction projet (356:17)
Gitlab
Available in
days
days
after you enroll
- Présentation de la formation (2:37)
- Présentation de Gitlab CI (4:55)
- Présentation de Gitlab (5:56)
- Présentation des pipelines (3:44)
- Cycle de vie (3:30)
- Créer un compte sur Gitlab (2:11)
- Générer une clé ssh et l'enregistrer sur Gitlab (3:16)
- Architecture du projet à déployer (7:28)
- Premier Pipeline (7:00)
- Liste des jobs (4:15)
- Liste des étapes (7:30)
- Définir une liste des étapes (3:11)
- Définir l'image à utiliser (7:21)
- Utiliser les artifacts pour partager des informations entre les stages (6:33)
- [image] Définir l'image à utiliser (5:52)
- [needs]Dépendance entre les jobs (4:54)
- [artifacts] Partager les données entre les jobs (4:31)
- [services] construire une image docker (12:10)
- Définir les variables (7:58)
- Générer l'image et l'enregistrer sur Dockerhub (9:22)
- De CI vers CD (1:23)
- Présentation des étapes de déploiement (4:02)
- Générer les informations pour la connexion (7:10)
- Installer Docker (6:39)
- Déployer l'application (14:10)
- Installer et configurer Nginx (5:23)
- Configurer le nom de domaine (1:37)
- Bilan des actions (1:37)
- TP Déployer mongo
- TP Déployer ms-imc
- Livecoding intro gitlab (368:51)
Gitlab Avancée
Available in
days
days
after you enroll
- Désactiver des jobs (1:24)
- [ONLY] Exécuter un job si une condition est remplie (2:37)
- [EXCEPT] Exécuter un job si une condition est remplie (1:46)
- [RULES] Conditions pour exécuter un job (3:52)
- Combiner plusieurs conditions pour exécuter un job (9:45)
- Hériter d'une configuration (4:00)
- Labeliser un job (2:46)
- [REFERENCE] utiliser des sections d'un job (4:28)
- Inclure des pipelines externes - partie1 (8:42)
- Inclure des pipelines externes - partie 2 (11:03)
- Définir des variables dans le projet (11:54)
- Déclencher un pipeline externe (12:00)
- Worflows: Contrôler le comportement du pipeline (15:38)
- TP: Déploiement applications
Installer Gitlab
Available in
days
days
after you enroll
- Introduction (1:07)
- Les prérequis (3:19)
- Installer Gitlab (11:37)
- Configurer Gitlab (10:06)
- Configurations Gitlab (12:38)
- Connexion à Gitlab (2:57)
- Installer un Runner (8:26)
- Créer un Runner (10:34)
- Configurer un Runner (2:03)
- Test du pipeline (2:16)
- TP: installer gitlab et déployer les projets
- Synchronisation des repos (12:07)
- Mis à jour des variables de Gitlab (13:53)
- Créer et configurer un compte de service (18:29)
- Configurer les accès (3:55)
- Déployer l'application partie 1 (22:21)
- Configurer le job (14:58)
- Configurer les pipelines pour tous les projets (15:28)
- Configurer le reverse proxy (19:47)
- Déployer le projet (3:14)
- Créer un group runner (6:42)
- Créer un runner avec des tags (9:32)
- Déployer un ms (13:54)
- Lire une version (21:32)
- Calculer la prochaine version (7:12)
- Déployer un projet React avec sa version (14:49)
- Live coding - tagger des sources (185:40)
Sonarqube
Available in
days
days
after you enroll
- Présentation (7:12)
- Les composants de Sonar (2:46)
- Définir les configurations pour Sonar (13:18)
- Instancier Sonarqube en local (16:21)
- Instancier Sonarqube en ligne (29:41)
- Assococier Gitlab et Sonar (6:13)
- Configurer le projet (15:01)
- Exécuter les tests unitaires (11:37)
- Couverture du code (21:58)
- Définir et utiliser des règles (7:29)
- Conclusion (0:48)
Orchestration des conteneurs avec Kubernetes
Available in
days
days
after you enroll
- Présentation (1:14)
- Architecture d'un projet (4:14)
- Etapes pour déployer un projet (6:26)
- Etapes pour déployer un projet avec Docker (5:52)
- Etapes pour construire un projet avec Docker (4:05)
- Architecture orientée évènements (9:23)
- Cycle de vie (2:56)
- Présentation des rôles et actions de Kubernetes (5:35)
- Présentation de K8s (1:54)
- Présentation des clusters (14:11)
- Présentation des pods (9:59)
- Présentation des services (3:46)
- Présentation de l'Ingress (5:31)
- installer les prérequis (10:18)
- Instancier un cluster (7:00)
- Créer un pod via l'invite de commandes (10:54)
- Instancier un pod à partir d'un fichier (7:31)
- Syntaxe de la commande kubectl (3:27)
- Inspecter un pod (7:00)
- Travaux pratiques sur les Pods
- Les replicasets (10:07)
- TP1: Travaux pratiques sur les replicasets
- TP2: Travaux pratiques sur les replicasets
- Les Deployments (13:41)
- Description d'un deployment (5:29)
- TP: Deployments
- Les services (10:55)
- Tester le service (10:17)
- TP1: Les services
- TP2: Les servrices
- Service Externe (12:18)
- Instancier un ingress (12:59)
- Livecoding composants de base (183:12)
- Présentation des ingress (7:12)
- TP Construire et exécuter le projet en react dans un cluster K8S
- MongoDB - transmettre des variables via un deployment (7:19)
- Lier deux pods (8:49)
- configmap (5:53)
- Les secrets (9:11)
- Live coding gestion des données (153:08)
- Présentation des volumes (2:27)
- Créer un Persistent Volume (PV) (9:11)
- Créer un Persistent Volume Claim (PVC) (9:32)
- Créer des volume avec un storage class (15:16)
- Présentation des Statefullsets (6:31)
- Compraison Statefull vs Stateless (3:02)
- Créer un Statefullset Mongodb (11:58)
- Présentation des Namespaces (1:37)
- Créer et Utiliser un Namespace (7:45)
- Présentation des RBAC (4:35)
- Générer des certificats (13:59)
- Créer un utilisateur (5:48)
- Associer des rôles aux utilisateurs (20:16)
- Livecoding récapitulatif (106:31)
- END (1:59)
Ansible
Available in
days
days
after you enroll
- Présentation (5:08)
- Avantages d' Ansible (3:24)
- Fonctionnement (5:12)
- Architecture Ansible (4:48)
- Présentation et installation de virtualbox (5:33)
- Présentation et installation de Vagrant (5:14)
- Créer une VM avec Vagrant (14:47)
- Définir les configurations de la VM (8:18)
- Créer toutes les VM (10:19)
- Générer les clés SSH (20:34)
- Installer Ansible (2:32)
- Inventories (9:59)
- Inventories: Gestion des groupes (8:53)
- TP Tester les connexions
- Les Playbooks (8:24)
- Stocker et afficher le résultat d'une commande (2:55)
- Configurations globales Ansible (14:13)
- Les Variables (7:59)
- TP installer HTOP
- TP Gestion des variables
- Les conditions (6:53)
- TP les conditions
- Les boucles (6:30)
- TP les boucles
- Les templates (7:52)
- TP les templates
- TP les handlers
- TP Les blocs (12:45)
- TP les tags (6:32)
- Les blocs (12:45)
- TP Scinder un playbook
- Inclure des modules externe (9:01)
- Les tags (6:32)
- Les templates - Suite (15:46)
- [Roles] Créer des répertoires (11:30)
- [Roles] les taches et les handlers (11:56)
- [Roles] COnfigurer des répertoires (15:31)
- [Roles] Générer un rôle (7:10)
- TP Déployer une application full stack
- Livecoding les roles (160:18)
- Conclusion (1:33)
Monitoring
Available in
days
days
after you enroll
- Présentation (4:19)
- Monitoring et Observabilité (3:42)
- Les piliers de l'observabilité (7:03)
- Installer Grafana (13:23)
- Installer Loki (9:05)
- Logs de tous les containers (28:08)
- Configurer la collecte des logs dans Nginx (11:56)
- TP Collecter les logs des applications
- Collecter les logs avec Alloy (18:03)
- Extratire les labels des logs avec une expression reguliere (12:18)
- Présentation de prometheus (3:59)
- Architecture interne de prometheus (7:02)
- Installer prometheus (15:23)
- Explorer l'IHM de Prometheus (4:52)
- TP Collecter les logs des applications
- Présentation d' Open Telemetry (9:15)
- Architecture interne de Open Telemetry (9:00)
- Configurer et déployer Open Telemetry (16:01)
- Configurer Open Telemetry et Promotheus (3:59)
- Collecter les metriques de traefik (7:49)
- Créer un dashboard dans Grafana (17:40)
- TP Metriques nginx
- Métriques Nginx (9:56)
- Collecter les logs Nginx (10:44)
- Manipuler des logs (9:44)
- Installer Tempo (8:23)
- Configurer OpenTelemetry (2:23)
- Collecter les traces de Nginx (12:23)
- Collecter les traces de traefik (9:49)
- Effectuer des requêtes avec promQL (9:27)
- Installer alertmanager (4:19)
- Configurer les alertes dans prometheus (9:31)
- Envoyer les alertes via un webhook (10:11)
- Envoyer les alertes par mail (5:43)
- Conclusion (0:44)
- Live coding (619:03)
Terraform
Available in
days
days
after you enroll
- Présentation du module (3:04)
- Présentation de Terraform (6:15)
- Installer Terraform (1:51)
- Quizz
- Première ressource - Créer un répertoire (12:23)
- Tout ce que Terraform remplace pour vous (6:22)
- Debugger la sortie de chaque ressource (7:21)
- Utiliser les variables (4:38)
- Gérer plusieurs environnements (10:21)
- Utiliser les providers (6:43)
- Organiser le projet sous forme de modules (12:23)
- Utiliser les templates (11:56)
- Utiliser les modules (10:35)
- Utiliser les environnements (7:14)
- Utiliser des boucles (5:12)
- Présentation de l'architecture à implémenter sur un serveur (6:01)
- Présentation des éléments associés à Proxmox (2:43)
- Présentation de l'IHM proxmox (6:48)
- Télécharger une image (28:12)
- TP mini-lab Proxmox Terraform
- Configurer la création de VM (26:39)
- Utiliser les configurations pour créer des VMs (9:37)
- Conclusion (0:25)
- Live codings (154:28)
AZURE PULUMI
Available in
days
days
after you enroll
- Présentation de la formation (2:24)
- Présentation du cloud computing (4:18)
- Présentation de la scalbilité (3:47)
- Présentation du provisioning (1:34)
- Présentation de l' IAC (19:53)
- Créer un compte sur Azure (7:25)
- Organisation des ressources dans Azure (9:00)
- Créer un resource group via le portail (7:45)
- Présentation des régions (6:41)
- TP Prise en main d'AZURE
- TP Consulter vos droits
- Présentation de Pulumi (5:28)
- Les bases de TypeScript (10:52)
- Les fonctions (8:05)
- Les objets (4:58)
- Les conditions et les boucles (6:32)
- TP – Lecture d’un fichier JSON avec TypeScript
- Installer AZ CLI & PULUMI (2:01)
- Connexion à AZURE avec AZ CLI (2:46)
- Créer un Compte de Stockage (14:06)
- Générer un projet pulumi (8:45)
- Exécuter un job pulumi (5:44)
- Architecture du projet pulumi (23:17)
- Tagger des ressources (17:50)
- Créer un container (15:21)
- TP – Infrastructure Azure avec Pulumi
- TP - Déployer front application IMC
- Définir une dépendance entre les ressources (12:17)
- Attribuer des droits à un utilisateur (2:57)
- Déployer une page statique (3:29)
- Présentation des types de base de données (2:11)
- Présenation de Cosmodb (1:55)
- Générer le projet (4:55)
- Définir les paramètres des resources (10:11)
- Configurer la création d'une resource group (11:14)
- Configurer la création d'un account pour la base de données (7:52)
- Configurer la création une base de données (5:17)
- Créer les resources (5:19)
- Tester l'accès à la base dans Azure (3:58)
- Livecodings (295:37)
Check your inbox to confirm your subscription