Image de NordWood Themes

Infrastructure DevOps : Les outils

Objectifs

À l'issue de ce cours sur les Outils DevOps, vous aurez acquis les connaissances nécessaires pour :

  • Comprendre la problématique d’industrialisation des déploiements et du provisionnement d’infrastructure

  • Connaître les distinctions entre les solutions de Cloud, la virtualisation et la containerisation

  • Connaître les produits de gestion de configuration les plus utilisés et applicables pour le Cloud et la virtualisation

  • Approfondir avec Jenkins et Docker

  • Connaître l'offre de surveillance continue et de mise à l’échelle

  • Approfondir avec Kubernetes et ElasticStack.

A qui s'adresse cette formation

Public :

Cette formation est destiné aux développeurs ou opérationnels désirant obtenir un profil full-stack.
À l’issue de ce stage, les participants auront une vision claire de la démarche DevOps et une première pratique des outils Open Source incontournables de ce domaine.

 

Prérequis :

Ce cours requiert une précédente activité dans un service informatique, que ce soit au travers d'une expérience de développement, d’intégration, d’exploitation ou d’encadrement.

Contenu du cours

Principes du mouvement DevOps

L’argumentaire et les principes DevOps
Impacts sur les services informatiques, sur les profils recherchés
Limites de l’approche et risques lors d’une transition brutale, Équilibre entre rigueur et agilité
Intégration/Livraison et Déploiement continu
Contraintes sur l’nfrastructure DevOps : Zero-downtime, Monitoring, Scaling
Chaîne de production logicielle
Infrastructure as Code - Infrastructure immutable (Principes et Bénéfices)
Introduction à GitOps

Gestion des sources

Mission d'un SCM. Commit, Branches et Tags
Typologie des branches d'un projet. Workflows de collaboration (GitFlow)
L'exemple de Git. Revue des Principales commandes
Pull et Merge Requests

Atelier 1  :

Mise en place d'un dépôt, création de branche, merge et rebase
Serveur GitLab : Déploiement, utilisation et administration

Outils de build

Caractéristiques et Apports d'un outils de build. Exemples
Artefacts et formats utilisés
Build is Test. Typologie des tests. Exemples d'outils
Analyse qualité et métriques. Stanard et mise en oeuvre avec SonarQube

Atelier 2  :

Exécution de commande de construction, visualisation des rapports de test

Plateforme de CI/CD

Rôles de la plateforme.
Architecture Maître/Esclaves. Provisionnement des esclaves
Notion de pipeline. Historique des builds 
Pipeline As code. L'exemple de Jenkins

Atelier 2  :

Mise au point d'un Jenkinsfile et couplage du serveur Jenkins au serveur GitLab (multibranch pipeline)

Virtualisation et gestion de configuration

Présentation des différents types de virtualisation, Cloud public, Cloud privé
Automatisation du provisionning
Présentation et comparaison de Vagrant, Terraform, Chef, Puppet
Automatisation des déploiements applicatifs avec Ansible
Automatiser la création des « templates » avec Packer
Mise à jour des schémas de bases de données avec Liquibase

Atelier 2 :

Mise au point de configuration Vagrant et Ansible, stockage sur GitLab, pilotage du déploiement par Jenkins
Réalisation d’un code Ansible pour déployer un serveur Nexus OSS

Containerisation

Les avantages de la containerisation, l’outil Docker
Le fichier Dockerfile
Les principales commandes Docker
Architecture micro-services et Docker Compose
Containerd, CRI-O et norme CRI/OCI

Atelier 3 :

Définition et construction des images Docker d’une application micro-services, pilotage via Docker Compose

Intégration continue et Containerisation

Apports de Docker dans l’intégration continue
Plugins Jenkins pour Docker
Provisionnement des machines de build
Plateformes d’intégration
Déploiement des images Docker dans les dépôts d’entreprise

Atelier 4 :

Intégration de la construction d’image et du déploiement d’image dans le cycle de construction d’un projet.
Utilisation d’esclaves Docker par Jenkins
Mise en place d’une pipeline de déploiement continu avec Jenkins, NexusOSS (Registry), Docker

Mise à l’échelle, Surveillance continue et Mise à jour

Les offres Kubernetes et Docker Swarm
Concepts de nœuds, de cluster. Services techniques apportés : annuaire, répartition de charge…
Mise à jour progressive de cluster, Retour en arrière
Centralisation et gestion des logs applicatifs, l’approche d’ElasticStack (EFK)
Introduction à HELM

Atelier 5 :

Scaling de l’application avec Kubernetes, Mise à jour progressive de l’application micro-service, Démonstration de la pile ElasticStack

Atelier 6 :

Déploiement et administration d’EFK (ElastikStack avec Fluentd). Utilisation de HELM pour le déploiement de cette solution de monitoring

TechnoWide

3 rue du Golf

Parc Innolin

CS 60073

33701 MERIGNAC CEDEX

Bordeaux

  • LinkedIn Social Icon
© 2020 TechnoWide - tous droits réservés