Forma­tion DevOps pour une équipe

Cette forma­tion orien­tée DevOps est indis­pen­sable pour qu’une équipe fonc­tionne unifor­mé­ment en interne. Elle se déroule sur une jour­née et couvre divers aspects d’An­sible, GitLab CI, Docker-Compose, Systemd, avec des exer­cices théo­riques et pratiques pour maîtri­ser les outils et bonnes pratiques DevOps.

Objectifs pédagogiques

  • Iden­ti­fier comment la confi­gu­ra­tion Ansible est reliée à la confi­gu­ra­tion de Django
  • Connaître les bonnes pratiques de CI
  • Connaître les settings/variables d’en­vi­ron­ne­ments Django
  • Connaître les bons réflexes pour inter­ve­nir sur une prod
  • Comprendre les serveurs impliqués dans le proces­sus de déploie­ment (forge/runner/regis­try/lxc)

Forma­tion DevOps pour une équipe en détail

Programme

  • Premier pas avec Ansible (2h)

    • intro­duc­tion à Ansible : les grands prin­cipes (inven­taire, play­book, tasks, modules, idem­po­tence ; compa­rai­son avec « make »)
    • expli­ca­tion du décou­page inven­taire/play­book (pour simpli­fier, on peut se repré­sen­ter l’in­ven­taire comme la liste des hôtes et leurs variables)
    • expli­ca­tion de deux/trois modules clés (template, copy, command/shell, file)
    • où trou­ver la doc ansible
  • Révi­sion Gitlab CI (1h)

    • stages
    • jobs
    • surcharge d’at­tri­buts
    • pipe­line (avec les diffé­rents types de pipe­line)
    • variables et leurs règles de surcharge
  • Gitlab CI avancé (1h)

    • éléments de syntaxes avan­cés de gitlab CI
    • rules
    • work­flow
    • needs
    • arti­facts
    • inter­rup­tible
    • inclu­ded pipe­lines
    • présen­ta­tion de la syntaxe
  • Fonc­tion­ne­ment avancé de docker-compose et présen­ta­tion de la stack géné­rique (1h30)

    • settings et variables d’en­vi­ron­ne­ments django impor­tants à connaître
    • assem­blage de plusieurs fichiers docker-compose pour réali­ser une stack (fichier .env + COMPOSE_FILE)
    • volumes (bind mount vs volumes nommés, volumes anonymes?, fichiers vola­tiles dans le conte­neur)
    • env_file/envi­ron­ment/compose env (./.env)
    • depends_on/entry­point/heal­th­check ; diffé­rence entre command/cmd et entry­point
    • présen­ta­tion des 4 fichiers docker-compose de la stack géné­rique
  • Présen­ta­tion de django-deploy (1h)

    • présen­ta­tion des diffé­rents jobs
    • expli­ca­tion du déploie­ment ansible
    • expliquer merge variable ansible (mot-clé vars_file et module include_vars)
  • Unité systemd (30min)

    • voir les logs
    • redé­mar­rer la stack
    • stop­per la stack
  • Conclu­sion (30min)

    • présen­ter tout le chemin entre l’iden­ti­fi­ca­tion d’un problème lié à un setting django jusqu’au diffé­rentes sources de ce setting en fonc­tion de l’en­vi­ron­ne­ment

Public et pré-requis

Public

  • Tous profils tech­niques : déve­lop­peurs, ingé­nieurs, chefs de projets…

Pré-requis

  • Utili­ser régu­liè­re­ment GIT dans ses projets

Personne en situa­tion de handi­cap

Pour toutes ques­tions rela­tives à l’ac­cueil d’un parti­ci­pant présen­tant un handi­cap, merci de nous contac­ter préa­la­ble­ment avant toute inscrip­tion

Ingé­nie­rie péda­go­gique

Moyens péda­go­giques et tech­niques

  • Les supports de cours (slides) seront dispo­nibles en ligne et distri­bués en début de forma­tion (à l’aide d’un lien vers notre outil interne ou d’une version numé­ri­sée), puis four­nis au format élec­tro­nique à la fin de la forma­tion
  • Une salle de forma­tion équi­pée d’une connexion Inter­net, d’un vidéo­projec­teur, paper­board. Ou une salle virtuelle pour les forma­tions à distance (FOAD).
  • Un ordi­na­teur par stagiaire avec un système d’ex­ploi­ta­tion installé et les outils néces­saires.

Moda­li­tés de suivi de l’exé­cu­tion du programme

  • Durant la forma­tion: alter­nance d’ap­ports théo­riques (30% du cours), d’exer­cices pratiques et de mise en situa­tion sous forme de travaux pratiques corri­gés avec l’ex­pert-forma­teur.
  • En fin de forma­tion: évalua­tion à chaud sur l’at­teinte des objec­tifs péda­go­giques sous forme de tour de table et de test de connais­sances, d’exer­cices, de QCM.

Moyens d’en­ca­dre­ment

Forma­tion assu­rée par un expert-forma­teur DevOps ayant une expé­rience signi­fi­ca­tive.

Nos experts

Image de profil

Paul Florence

Django-Python-Devops


Toulouse

David Wagner

Sysadmin/Devops


Toulouse