Accueil    Formations    Informatique    Cloud    Cloud privé et hybride / Multi-Cloud    DevOps et Multi-Cloud

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Objectifs pédagogiques

  • Comprendre les origines et le rôle de la culture DevOps
  • Comprendre l'IaC (Infrastructure as Code) et son rapport au Cloud
  • Connaître les outils d'automatisation et d'orchestration adaptés à la gestion des applications dans le Cloud
  • Découvrir les bénéfices des technologies d'intégration et de déploiement continus
  • Déployer une application sur plusieurs Clouds publics.

Niveau requis

Avoir connaissance des concepts du Cloud, ainsi que les bases de l'un des trois grands "Cloud Providers" suivants : AWS, Azure ou GCP. Disposer de solides compétences en système / réseau et en Linux / Unix ; et idéalement, avoir suivi le cours CLOUD-MIGR "Les bonnes pratiques de la migration vers le Cloud".

Public concerné

Architectes systèmes et réseaux, architectes logiciel, développeurs ou ingénieurs systèmes.

Programme

Origine et définition de la culture Devops

Origine DevOps

  • Les principes DevOps
  • Les enjeux liés au Cloud
  • Les impacts organisationnels

Pourquoi l'arrivée du DevOps ?

  • Les bonnes pratiques issues du développement logiciel
  • L'IaC (Infrastructure as Code)
  • Le développement logiciel (Agilité, 12 facteurs, micro-services)
  • Chaîne de production logicielle
  • L'intégration, le déploiement et la livraison continus

Chaîne de développement logiciel

Gestion des sources

  • Objectifs des outils de VCS / SCM (Version Control System / System Control Management)
  • Terminologie (branches, tags, commits...)
  • Comment gérer les branches ?
  • Mettre en place un workflow de collaboration
  • Exemple avec Git
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre d'une solution de VCS avec GitLab et manipulations
    • Création de branche, merge, pull request, commit...

Outils de build

  • Objectifs des outils de build logiciel
  • Terminologie (artefacts, formats...)
  • Comment gérer ses builds ?
  • Tests, qualité, mesures...
  • Mettre en place un outil de build avec SonarQube
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de SonarQube
  • Lancement de build logiciel
  • Rapport de build

CI/CD (Continuous Integration / Continuous Delivery)

  • Objectifs des outils de CI/CD
  • Concepts (pipeline, testing, historique, logs...)
  • Architecture maîtres / esclaves
  • Comment construire ses pipelines CI/CD ?
  • Analyse du code, tests, build, livraison
  • Mettre en place un outil de CI/CD avec Jenkins
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de Jenkins
  • Intégration à GitLab
  • Création de pipeline

IaC (Infrastructure as Code)

Automatisation

  • Objectifs des outils d'automatisation
  • Provisioning et infrastructure immutable
  • Présentation des outils du marché
  • Exemple avec Ansible
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre d'Ansible et déploiement automatisé d'un serveur
  • Automatisation de l'installation de serveurs dans une architecture multi-tiers

Orchestration

  • Objectifs des outils d'orchestration
  • Provisioning d'architectures complexes
  • Présentation des outils du marché
  • Exemple avec Terraform
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de Terraform
  • Déploiement d'une application multi-tiers sur 2 Clouds publics

CaaS (Container as a Service)

Conteneurisation

  • Origine et apports des conteneurs avec Docker
  • Concepts et architecture Docker
  • Outils Docker : CLI, Dockerfile, Docker Compose
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de Docker
    • Découverte de la CLI
    • Création de Dockerfile
    • Construction d'images Docker
  • Création d'images d'une application multi-tiers
    • Provisioning avec Docker Compose

Intégration Docker et CI/CD

  • Apports de conteneurs dans une chaîne de développement logiciel
  • Intégration de Docker à Jenkins, gestion des esclaves
  • Pilotage des conteneurs de Docker build depuis Jenkins
  • Gestion des artefacts sous forme d'images Docker
Exemple de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de Docker dans un pipeline CI/CD
  • Création d'esclaves Docker dans Jenkins
  • Build d'images Docker depuis le pipeline Jenkins
  • Déploiement automatisé avec Docker Compose depuis Jenkins

Orchestration de containers CaaS

  • Objectifs des outils d'orchestration de containers
  • Présentation des outils du marché : Docker Swarm, Kubernetes...
  • Architecture Kubernetes
  • Présentation des ressources Kubernetes
  • Présentation des concepts de mises à jour et de scalabilité des applications en micro-services
Exemples de travaux pratiques (à titre indicatif)
  • Mise en oeuvre de Kubernetes en local
    • Création des manifests de déploiement de l'application multi-tiers
    • Mise à l'échelle de l'application
    • Mise à jour de l'application
  • Déploiement de l'application multi-tiers en Multi-Cloud
    • Provisioning d'un cluster Kubernetes dans 2 Clouds publics
    • Déploiement de l'application multi-tiers précédente dans les 2 Clouds publics

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Choisissez la modalité souhaitée pour vous inscrire :

Modalité Présentiel, Classe à distance

Votre société a besoin d'une offre personnalisée ? Contactez-nous

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.

Contactez-nous