AELION : 01. DevOps : démarche et outils
Organisme
31200 TOULOUSEVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Questionnaire d’évaluation des pré-requis, suivi des connaissances tout au long de la formation par des questionnements, exercices…, Evaluation des acquis en fin de formation
Prix
Public
Développeurs, Architectes, Chef de projet, Responsable et acteur de la DSI, décideur
Pré-requis
Avoir une connaissance des services IT.
Une expérience sur un projet informatique est souhaitable (développement, intégration, exploitation…)
Objectifs pédagogiques
- Comprendre les principes et les bénéfices du mouvement DevOps
- Appréhender les enjeux du DevOps dans une organisation
- Connaître les éléments constitutifs d’une usine logicielle DevOps
- Identifier les principaux outils de gestion de configuration
- Identifier les étapes de mise en œuvre de la démarche, incluant l’anticipation des risques
Programme détaillé
JOUR 1
Démarche, acteurs et enjeux DevOps
A l’issue de cette séquence, vous êtes capable de définir ce qu’est la démarche DevOps. Vous avez identifié les concepts technologiques qui aident à la mise en œuvre de cette démarche. Vous avez conscience des complexités techniques ou organisationnelles liées à DevOps.
- Cycle de vie complet d’une application (ALM - Application Lifecycle Management) et identification des problématiques qualités (tests, sécurité, etc.) et organisationnelles (agile, time to market, etc.)
- Manifeste et culture DevOps
- Patterns et anti patterns DevOps
- Technologies et pratiques liées au mouvement DevOps (Infra-as-code, Continuous Intégration, Continuous Deployment/Delivery)
Connaître les éléments constitutifs d’une usine logicielle DevOps
A l’issue de cette séquence, vous êtes capable d’identifier les outils et les étapes à la CI/CD.
- Identifier les outils nécessaires à la fabrique logicielle pour produire des livrables de qualité :
- -- Gestion du code avec Git et les branches
- -- Tests et déploiement automatisés :
- -- Identifier et définir les typologies de tests
- -- Intégration et déploiement continue avec des pipelines CI/CD
JOUR 2
Identifier les principaux outils de gestion de configuration
A l’issue de cette séquence, vous êtes capable d’identifier les outils de gestion de configurations et les technologies au service de la démarche DevOps.
- Introduction aux problématiques de gestion de configuration, de provisionning et d’orchestration :
- -- Infrastructure as Code
- -- Infrastructure As A Service (ou Container as a service)
- Exemples d’outils :
- -- Gestion du code source avec une application Git : Git, Subversion, GitLab, GitHub et Bitbucket
- -- Intégration continue et déploiement continu (CI/CD) : Jenkins, Gitlab-CI, Bamboo, TeamCity, Travis, Maven, Gradle…
- -- Automatisation des tests logiciels : Selenium, Cucumber, Jasmine, Appium…
- -- Fournisseurs pour l’hébergement Cloud : Azure, AWS, GCP, OpenStack
- -- Gestion des conteneurs : la suite d’outils Docker et l’orchestration avec Kubernetes, les alternatives Mesos et Docker-Swarm
- -- Automatisation et gestion des configurations : Ansible, Chef, Puppet, SaltStack…
- -- L’Infrastructure-as-code avec Terraform (ou Ansible)
- -- Supervision et monitoring en continu : la stack ELK (ElasticSearch, Logstash, Kibana), Prometheus, Grafana, Zabbix, Nagios, EON…
- Exemple de code utilisant Terraform ou Kubernetes mettre en oeuvre une application logicielle “Cloud-ready”
Identifier les étapes de mise en œuvre de la démarche DevOps, incluant l’anticipation des risques
A l’issue de cette séquence, vous êtes capable d’identifier les chemins d'adoption possibles pour la démarche DevOps. Vous êtes en mesure de mettre en place les étapes de base pour mener un projet DevOps ou une transformation DevOps.
- Définir l'organisation d’un projet DevOps pour réussir sa mise en œuvre
- -- Considérations organisationnelles : la conduite du changement et l’implication de tous
- Comment évoluer vers une organisation DevOps en intégrant l'infrastructure existante ?
- Quelles actions peuvent faciliter l'adoption et/ou la montée en compétences des équipes Dev et Ops.
- -- Cibler les parties à automatiser (notamment parmi les tests, l’Intégration, la livraison et déploiement continus)
- -- La place des technologies Cloud et la virtualisation des environnements
- -- Surveillance, feedback et optimisation : l’amélioration continu