Objectifs de la formation
- Découvrir l'origine et les principes du mouvement DevOps
- Appréhender les enjeux et les pratiques du DevOps
- Évaluer et s'approprier les principaux outils Open Source pour DevOps ainsi que leurs limites
- Savoir identifier les outils nécessaires et leurs usages au sein de l'usine logicielle
- Identifier les étapes de mise en œuvre de la démarche, incluant l'anticipation des risques
Programme de la formation
DevOps, enjeux, origine et fondamentaux
- Mutations engendrées par la (r)évolution digitale et les nouveaux challenges associés.
- Solutions : méthodes Agiles et DevOps.
- Différences avec les DSI traditionnelles.
- Généalogie de DevOps : Méthodes Agiles et Lean Manufacturing.
- Fondements du mouvement DevOps.
DevOps, de l'expression des besoins jusqu'à la production
- Fonctionnement et procédés clés de la DSI DevOps.
- Constituer des équipes pluridisciplinaires. L'apprentissage continu.
- Construire la chaîne de productions logicielles et pratiques associées.
- Sûreté de fonctionnement, feedbacks et amélioration continue.
- Adapter la gouvernance : passer à une structure innovante.
- Engagement de tous, le vrai défi pour les managers.
- Faire évoluer les postures.
- Management de la transformation DevOps : accompagner l'évolution.
Réflexion collective
Évolution culturelle de l’entreprise : freins et solutions.
Outils, positionnement, caractéristiques, risques et limites
- Gestion des exigences, Agile/DevOps (Trello, Wekan, Flowdock, Taiga...). Collaboration (Slack, Hipchat, Rocket.Chat...).
- Cloud (OpenStack, OpenShift Origin, Cloud Foundry...). Microservices et containers (Docker, Rkt, Kubernetes, Mesos...).
- Gestion de configuration (GLPI, Fusion Inventory, SpaceWalk...). Gestion de version (Git, Github, Gitlab, Bitbucket...).
- Intégration continue (Maven, Graddle, Jenkins, GitLab-CI, TeamCity, TravisCI, CircleCI, JUnit, PhPUnit, Mokito...).
- Gestion des dépôts et d'environnements (DockerHub/Registry, Artifactory, Infrastructure As Code/Configuration As Code).
- Automatisation des livraisons (Salstack, Vagrant, Terraform, CFEngine, Capistrano, Rundeck, Ansible, Chef, Puppet...).
- Automatisation des tests (Fitness, SOAPUI, LynIS, Snort, ZAP, Jasmine, Appium, Selenium, Cucumber, Gatling, JMeter...).
- Orchestration de release. Surveillance continue : monitoring/alerting et dashboard (ELK, Zabbix, Nagios...).
Etude de cas
Analyse des contextes technologiques et industriels variés.
Synthèse
- Importance de la veille technologique.
- Points à retenir.
- Conclusion.