L’ambiguïté...
“DevOps est un mouvement,
une philosophie, une façon de
penser”
“DevOps est une personne qui
maîtrise le rôle de Dev et d’Ops”
“DevOps est
l'intégration
continue”
“DevOps est un
titre de job”
“DevOps est
l’automatisation”
“DevOps est une équipe
de Dev et d’Ops”
“DevOps est un
mouvement culturelle”
“DevOps est le
monitoring”
“DevOps se sont de petits
déploiement”
“DevOps opère
l’infrastructure
par le code”
“DevOps échange
les features”
“DevOps est le
kanban pour Ops”
“DevOps est la
collaboration des
Ops et des Dev”
Avant l'intégration continue
❏ Aucune maîtrise du livrable par les Dev
❏ Qualité faible
❏ Livraison trimestrielle
❏ Maintien en conditions opérationnelles
chaotiques
Dev
Ops
Intégration Continue ❏ Package d'installation devient standardisé
❏ Maintien en conditions opérationnelles un
peu moins chaotiques
❏ Maîtrise du livrable par les Dev
❏ Répétabilité
❏ Qualité un peu meilleur
❏ Augmentation de la cadence de livraison
❏ Outillage pour la maîtrise technique
❏ Méthodologie Agile pour la maîtrise du contenu
★ Absence de collaboration entre Dev et Ops
Dev
Ops
Automation des déploiements par les Dev (ou les Ops)
❏ Maîtrise du livrable par les Dev
❏ Répétabilité
❏ Qualité un peu meilleur
❏ Augmentation de la cadence de livraison
❏ Sécurisation de sa partie
❏ Installation standardisée
❏ Maintien en conditions opérationnelles un
peu moins chaotiques
❏ Sentiment de surcharge ...
❏ Sécurisation de “sa” livraison
❏ facilitation de l’Expérimentation
★ Absence de collaboration/standardisation entre Dev et Ops
Dev
Ops
Continuous Delivery
❏ Partage des outils (git, CI, ...)
❏ Utilisation de l’infrastructure as code
❏ Partage et standard des scripts de
déploiement, d’installation et de pipeline
entre les Dev et les Ops
=> C’est le début de la collaboration et du partage
❏ Répétabilité des livraisons
❏ Les environnements sont standardisés
❏ Sécurisation des livraisons
❏ Maintien en conditions opérationnelles
s’améliore
=> Le processus de livraison s’améliore mais la
qualité n’est encore que moyenne … Le produit est
moyennement fiable.
Infra as code (la standardisation)
Avant : on faisait les
changements directement et
manuellement
Mais faire des changements
manuellement n’est pas scalable
Dorénavant : On fait les changements
indirectement et de façon automatisée
çà le fait !
Les Bénéfices du code
★ Automatisable
★ Versionnable
★ Code Review
★ Testable
★ Documentable
★ Réutilisable
Le long chemin vers le Continuous Deployment
❏ Agilité & Lean Management
❏ améliorer le flux
❏ réduire les gâchis/gaspillages
❏ partager lors des cérémonies
❏ Craftsmanship
❏ améliorer les pratiques
❏ gagner en qualité de développement
❏ Architecture
❏ avoir les meilleurs outils pour répondre aux
problématiques du produit
❏ Monitoring
❏ diffuser et partager des feedbacks rapides
❏ détecter, diagnostiquer et résoudre
❏ Sécurité
❏ survivre aux cataclysmes
❏ anticiper les failles de sécurité
❏ Culture
❏ “Fail Fast”
❏ organisation apprenante
➔ Livrer plus rapidement
➔ Fiabiliser les livraisons
➔ Banaliser la livraison (plus fréquent, plus rapide)
➔ Pouvoir valider ou invalider plus rapidement les
nouvelles fonctionnalités
Tout le monde est DevOps et tout le monde travaille dans l'intérêt de l'équipe et du produit
Devops, IT Ops, IOps, SRE ...
https://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/
Gestion de pipeline de déploiement
Start Find image for
tests
Deploy to Prod
(Red/Black)
Smoke tests
Wait 30 mins
Scale down
old prod
Tag source and
manual approval
Wait 2 hrs
Destroy
old prod