Académique Documents
Professionnel Documents
Culture Documents
• Introduction
• DevOps les bases
• DevOps les principles
• DevOps les pratiques clef
• DevOps application pratique
DevOps Foundation
Objectifs et public
DevOps Foundation
Littérature
DevOps Foundation 4
1. DevOps, les bases
DevOps Foundation 5
1.1 Origines de DevOps
1980… 2008
ITSM
ITIL
COBIT DEVOPS
AGILE
SCRUM
DevOps Foundation
1.1 Origines de DevOps
DevOps Foundation 7
1.1.1 De la cascade vers l’agilité
DevOps Foundation
1.1.1 De la cascade vers l’agilité
En 2001, le Manifeste Agile a été produit pour combler le fossé entre les
développeurs d’entreprises et de logiciels.
Continuous Delivery
• Harness Change
• Working software in weeks
• Business and IT working together
• Trusted and motivated individuals
• Sustainable development
• Agility
• Simplicity
• Self-organizing teams
• Continuous improvement
DevOps Foundation
1.1.1 De la cascade vers l’agilité
DevOps Foundation 10
1.1.1 De la cascade vers l’agilité
au pilo t
du pro
tage
je
la prod ité de
uction
al
à la qu
DevOps Foundation 12
1.1.2 Gérer l’infrasctructure comme du code
DevOps Founda/on 13
1.1.2 Gérer l’infrasctructure comme du code
1 Virtualization
• Utilisation efficace du matériel
• Niveau supplémentaire d’abstraction entre les applications métier et les logiciels
système
2 Cloud Computing
• VPN permet envoyer des paquets de données privées sur des canaux partagés
avec sécurité, confidentialité et qualité de service
• Les grands fournisseurs ont rendu les ressources virtuelles abordables et fiables
DevOps Founda/on
1.1.3 DevOps d’un point de vue historique
DevOps Founda/on
1.2 Définition de DevOps
DevOps Founda/on
1.2 Définition de DevOps
permet aux
entreprises d’en
en raison de faire plus grâce
changements aux technologies
culturels, de l’informaWon
organisationnels modernes
et techniques
DevOps Founda/on 17
1.2.1 DevOps comme un extension des pensées of Lean et Agile
• DevOps ne remplace pas les pratiques agile et lean mais les absorbe.
• 3 éléments essentiels :
Culturel
Organisation
Technique
DevOps Founda/on
1.2.2 DevOps nécessite une réflexion sur la chaine de valeur
• Comprendre que la valeur est un indicateur clé a un gors impact sur les
processus.
• Cela aide à réaliser un flux lisse et uniforme d’étape en étape qui permet
d’offrir des sorties en permanence, réguliers, sans retards inutiles et avec une
utilisation optimale des ressources.
DevOps Founda/on
1.2.3 DevOps, un meilleur rendement de l’IT
DevOps Founda/on
1.3 Pourquoi utiliser DevOps ?
DevOps Founda/on
1.3.1 Diminution du temps de commercialization (Time to Market)
DevOps Founda/on
1.3.1 Diminution du temps de commercialization (Time to Market)
DevOps Founda/on
1.3.1 Diminution du temps de commercialization (Time to Market)
DevOps Founda/on
1.3.1 Diminution du temps de commercialization (Time to Market)
DevOps Founda/on
1.3.1 Diminution du temps de commercialization (Time to Market)
Mais:
Il est naïf d’espérer que l’utilisation des techniques DevOps pour accélérer le
travail du département IT conduira simultanément à une réduction des coûts IT
.
Le coût IT augmentera, principalement, en raison de l’augmentation du nombre
de membres du personnel
.
L’organisation traditionnelle de l’IT suppose des unités fonctionnelles distinctes
DevOps Founda/on 26
1.3.2 Réduire la dette technique
• Le problème est que les solutions non optimales accumulées conduisent à une
détérioration progressive de la qualité des services et des produits
DevOps Founda/on
1.3.3 Éliminer la fragilité – tolerance zéro
• Les systèmes les plus importants sont souvent les plus fragiles.
Réduire la fragilité de ces systèmes comporte des risques
élevés de perturbation des activités.
DevOps Founda/on
1.4 Idées fausses sur DevOps
DevOps Founda/on
1.4.1 DevOps ne fait pas partie d’Agile
• Mythe ou fait : « DevOps n’est rien de plus que la poursuite des idées Agiles
• Basé en grande partie sur Agile, DevOps étend néanmoins les idées du
développement Agile à la production informatique Agile en général,
l’ensemble de l’organisation, l’ensemble du processus, l’ensemble de la
chaîne de valeur.
• Les objectifs fixés pour DevOps ne se limitent pas à accélérer la livraison : il est
également nécessaire de réduire la dette technique et d’éliminer la fragilité
DevOps Founda/on
1.4.1 DevOps ne fait pas partie d’Agile
DevOps Founda/on
1.4.2 DevOps ce n’est pas que des outils et de l’automatisation
DevOps Founda/on
1.4.2 DevOps ce n’est pas que des outils et de l’automatisation
DevOps Founda/on 33
1.4.3 DevOps n’est pas une nouvelle profession
DevOps Founda/on
Foundation – Lean Production
DevOps Founda/on
Foundation – Lean Production
DevOps Founda/on
2. Principes DevOps
DevOps Founda/on
2.1 Chaine de valeur
DevOps Founda/on
2.1.1 Concept de chaine de valeur
Les actions effectuées pour répondre à la requête sont alignées dans une
séquence appelée chaine de valeur.
DevOps Founda/on
2.1.1 Concept de chaine de valeur
DevOps Founda/on
2.1.2 Concept de cartographie de chaîne de valeur
Les informations les plus précieuses sont les 3 mesures pour chaque
étape du flux, à savoir :
Lead Time (LT) : délai de mise en œuvre
Process Time (PT)
Percent Complete and Accurate (%C/A )
DevOps Foundation
2.1.2 Concept de cartographie de chaîne de valeur
DevOps Founda/on
2.1.3 Cartographie de chaîne de valeur process businesss
DevOps Founda/on
2.1.3 Cartographie de chaîne de valeur process businesss
DevOps Founda/on
2.1.4 La pensée de chaine de valeur est le noyau de DevOps
• Visual representation
Focus • Created Value rather than actions (Why vs What)
• Bottlenecks
Identify • Avoid local optimization trap (Theory of constrains)
DevOps Founda/on
2.2 Pipeline de déploiement
Continuous Deployment
Continous Delivry
Continous Integration
DevOps Foundation 46
2.2 Pipeline de déploiement
DevOps Founda/on
2.2.1 Concept de pipeline de déploiement
DevOps Foundation
2.2.2 Défis lors de la mise en œuvre d’un pipeline de déploiement
DevOps Foundation
2.3 Contrôle de version
DevOps Foundation
2.3.1 Concept de controle de version
Tests
scripts pour créer et modifier des bases de données,
scripts de création d’environnement
scripts de déploiement,
Artefacts
bibliothèques, documentation, fichiers de configuration,
même des outils de développement, tels que compilateurs, etc.
DevOps Foundation
2.3.1 Concept de controle de version
DevOps Foundation
2.3.2 Pourquoi le contrôle de la version est important
Conséquences:
Capacité de déterminer ce qui a été changé, quand et par qui.
Capacité de restaurer le système comme à n’importe quel moment
dans le passé avec un minimum d’efforts.
Tous les membre de l’équipe peuvent supprimer librement les éléments
inutiles sans risque de perte accidentelle d’informations ou de produits
importants
DevOps Foundation
2.4 Gestion de configuration
DevOps Foundation
2.4.1 Gestion de configuration
DevOps Founda/on
2.4.2 La gestion de configuration est importante pour DevOps
DevOps Foundation
2.5.1 Definition of Done et l’état d’esprit de DevOps
Ce n’est pas quand quelqu’un a fait sa part du travail que c’est fait,
mais quand le client a reçu ou a commencé à recevoir la valeur qu’il
attendait.
DevOps Foundation
3. DevOps Pratiques clés
DevOps Foundation
3.1.1 Des releases plus fréquentes
• Grande taille
• Petite taille
• Plusieurs
• Communiqués
jours/semaines
hebdomadaires/quoti
• Beaucoup de
diens
ressources
• Utilisation efficace
• Effort élevé
des ressources
• Sauvegardes
• Effort régulier
• Documentation
• Automatisation
• Manuelle
• Continue
• Prévue
DevOps Foundation
3.1.2 DevOps se concentre sur l’ajout de valeur à l’entreprise
• Release • Deployment
• A release is a group of changes • Making a new functionality fully or
jointly deployed to the production partially available to users
environment • Deployed as soon as passed tests
• Release Schedule • Business Decision
• IT Decision
DevOps Foundation
3.1.3 DevOps nécessite une automatisation plus que les pratiques
traditionnelles
DevOps Foundation
3.1.4 Résoudre des incidents et des défauts avec DevOps
DevOps Foundation
3.1.5 DevOps et amélioration continue
DevOps Foundation
3.2 Pratiques DevOps
DevOps Foundation
4.1.1 La Release est une routine
Dans DevOps, une version est une routine. Les sorties se font chaque semaine, et
même tous les jours. Il faut :
- Une réduction drastique de la taille des changements introduits
- Une révision de la pratique de la préparation et de la distribution des rejets...
DevOps Foundation
4.1.2 La Release est une décision business
Une release in ITSM et une release in DevOps ont des définitions différentes :
Lors du déploiement continu dans DevOps, la nouvelle fonctionnalité est déployée dans
l’environnement de production dès qu’elle est développée et testée. Les utilisateurs ne le
remarquent pas tant qu’il n’est pas activé.
L’activation est effectuée lorsqu’elle est nécessaire pour l’unité d’affaires. Cela permet de
transférer la gestion des rejets entre les mains du client.
DevOps Foundation
4.1.3 Tout est automatisé
L’augmentation du niveau de contrôle est cruciale pour DevOps. Tout doit être
stocké dans un système de contrôle de version. Il nécessite une
automatisation totale de toutes les opérations manuelles.
DevOps Foundation
4.1.5 Les défauts sont corrigés immédiatement
Les erreurs et les histoires d’utilisateurs tombent dans une seule file d’attente
et sont traitées sur un pied d’égalité. Les clients s’impliquent dans la gestion de
la dette technique, ce qui change considérablement à la fois l’importance de ce
travail et la responsabilité de ses résultats.
DevOps Foundation
4.1.6 Les processus sont améliorés en permanence
DevOps Foundation
4.1.7 Agir comme une startup
Certaines équipes de DevOps ont vu le jour dans les startups, avec leur culture
spécifique, si inhabituelle pour les employés de l’entreprise. Les entreprises qui tentent
de mettre en œuvre DevOps, tentent d’adopter l’esprit d’entreprise et d’innovation.
Mais qu’est-ce que cela signifie?
DevOps Foundation
3.2.1 Importance d’une équipe diversifiée
DevOps Foundation
Equipe atypique
DevOps Foundation 72
Equipe atypique
DevOps Foundation 73
Equipe atypique
Il n’y a pas de chef officiel parmi un petit nombre de membres de l’équipe DevOps.
L’équipe est en mesure de résoudre de façon indépendante tous les problèmes de gestion
et de demande l’appui d’experts ou de mentors dans les cas difficiles.
Une équipe DevOps est responsable des outils qu’elle utilise. L’équipe devrait être en
mesure d’évaluer les conséquences de tout changement apporté.
DevOps Foundation 74
3.2.2 Visualiser le travail
Un outil de visualisation peut soutenir le flux et aider à trouver des réponses aux
questions :
- Combien de tâches sont actuellement acceptées pour travailler sur ces tâches?
- Quelle étape accumule le travail et forme un goulot d’étranglement qui ne permet
pas au reste de la chaîne de fonctionner efficacement?
- Quelles zones ont une capacité potentiellement insuffisante et vont bientôt ralentir
les autres?
- Où les ressources sont déjà ou presque épuisées?
- Quelles tâches sont bloquées et ne seront pas accomplies dans cette itération?
- Que reste-t-il à faire pour la tâche qui n’a pas été accomplie?
- Si nous n’avons pas le temps de faire tout le travail qui a été accepté dans cette
itération, quelle partie de celui-ci vaut la peine pour obtenir le maximum de résultat
utile possible?
DevOps Foundation
3.2.2 Visualiser le travail
DevOps Foundation
3.2.2 Visualiser le travail
Mettre la tâche dans le backlog signifie : «C’est une bonne idée, il peut être
mis en œuvre quand et si la décision est prise. »
DevOps Foundation 78
3.2.3 WIP
La longue liste de tâches conduit au chaos. Ce chaos est lié à l’examen fréquent
des priorités par le spécialiste, le passage fréquent entre les tâches, les
changements fréquents dans les priorités en raison de facteurs externes.
Dans certaines entreprises, la pratique courante de priorisation est réduite à
HiPPO: Le plus payé Opinion de personne. La cause de ces problèmes est
multitâche.
Cette pratique peut conduire à des situations où il n’y a pas de travail sur les
différentes étapes du flux qui attendent l’achèvement des étapes précédentes.
Faire un travail qui n’a pas de client, est un gaspillage. Faire une tâche pendant le
temps d’inactivité juste pour le laisser inachevé plus tard, est un gaspillage.
L’objectif principal est d’assurer le débit, quand tout est bon et régulier, la vitesse
de l’écoulement est également stable. Si dans une situation habituelle, la rivière
devient peu profonde, alors quelque part en amont, il y a un obstacle; il doit être
trouvé et enlevé afin de restaurer le flux normal, régulier et prévisible.
DevOps Foundation 80
3.2.3 WIP
DevOps Foundation 81
3.2.3 WIP
DevOps Foundation
3.2.3 WIP et taille des batch devraient être limité
L’option avec des lots plus petits montre de meilleurs résultats, pour les
raisons suivantes :
- Les lots de grande taille sont rarement de taille identiques, contrairement
aux petits.
- De petits lots de la même taille améliorent le rythme de travail, il devient
plus stable et prévisible dans tous les domaines.
- Le temps de la première livraison et le temps de plomb total sont réduits au
minimum en diminuant le temps d’attente dans le flux de valeur.
- De petits lots réduisent le volume total des tâches en cours.
- Le nombre de défauts est réduit, l’ensemble du lot devra être refait en cas
d’erreur. Plus le lot est petit, plus les déchets de la refonte sont petits.
DevOps Foundation 83
3.2.3 WIP et taille des batch devraient être limité
DevOps Foundation
3.2.4 Exigences opérationnelles pour que DevOps fonctionne
DevOps Foundation
3.2.5 Soutenir l’innovation
La dette technique doit être réduite, le travail doit être amélioré et les nouvelles
technologies maîtrisées. Le service informatique moderne ne peut pas se permettre de
s’engager dans ces tâches importantes en arrière-plan.
Kaizen Blitz: Le temps d’amélioration peut ne pas être planifié à l’avance, mais est
alloué au besoin, les participants externes impliqués
DevOps Foundation
3.2.6 Faire face aux goulots d’étranglement
L’état d’un flux uniforme sans retards n’est pas atteint du jour au
lendemain et nécessite des efforts.
- en utilisant des outils de visualisation ainsi que des limites WIP, on peut
identifier les goulots d’étranglement de ce flux de valeur.
- parmi tous les goulots d’étranglement connus, il y en a un qui cause le
plus de retard — c’est sur celui qui se concentre.
Séquence :
- Comprendre comment changer les règles du travail à court terme,
afin d’utiliser (exploiter) le goulot d’étranglement identifié au maximum.
- Trouver un moyen d’éliminer le goulot d’étranglement
- Annuler les règles à court terme établies précédemment et
commencer à chercher le prochain goulot d’étranglement le plus
important
DevOps Foundation
Priorité des tâches
Un domaine qui cause souvent des difficultés est la priorisation des tâches
dans la file d’attente à l’entrée du flux de valeur.
DevOps Foundation 88
Identification continue, exploitation et élévation des contraintes
La chaine de valeur aura toujours des contraintes qui doivent toujours être
prises en compte.
DevOps Foundation 89
4. Application pratique de DevOps
4.1 Applicabilité
4.2 Limitations
4.3 Utilisation d’un logiciel commercial hors de l’étagère
4.4 Évolution de l’architecture et des modèles organisationnels
4.5 Progression itérative
DevOps Foundation
4.1 Applicabilité
DevOps Foundation
4.1 Applicabilité
DevOps Foundation
4.2 Limites
DevOps Foundation
4.2 Limites
DevOps Foundation
4.3 Using Commercial Off-the-shelve Software
DevOps Foundation
4.3.1 COTS dans les secteurs stratégiques
Premier conseil que tout expert sérieux donnera : Vous devez vous
débarrasser de la COTS travaillant dans les domaines les plus
importants de votre entreprise.
DevOps Foundation
4.3.2 Comment travailler avec COTS ?
DevOps Foundation
4.4 Évolution de l’architecture et des modèles organisationnels
DevOps Foundation
4.4.1 Difficultés qu’un service informatique pourrait faire peser
sur la mise en œuvre de DevOps
De petits changements dans une partie du système peuvent avoir des effets négatifs
dans d’autres parties.
DevOps Foundation
4.4.2 Besoin d’un état d’esprit flexible pour changer et innover
La culture DevOps est très différente de la culture régulière, qui, bien sûr, est un obstacle pour un
changement direct et rapide dans le style de travail dans les entreprises traditionnelles
DevOps Foundation
4.5 Progression itérative
DevOps Foundation
4.5.1 DevOps peut commencer petit et peut être construit à partir de là
flux de valeur
pipeline de déploiement
système de contrôle de version
gestion automatisée de configuration
Appliquer cette expérience à d’autres systèmes
En commençant par des cas plus simples, vous pouvez passer à
autre chose avec plus de confiance.
DevOps Foundation
4.5.2 DevOps est une façon de penser, qui peut commencer n’importe
où dans l’entreprise
DevOps peut être utilisé, pour résoudre des problèmes spécifiques de l’organisation
DevOps n’est pas un produit logiciel qui peut être installé et lancé
DevOps n’est pas un ingénieur qui peut être embauché pour apporter la nouvelle
commande à l’informatique
DevOps exige à bien des égards des changements culturels et organisationnels, et ces
changements ne se limitent pas au service informatique
DevOps signifie jouer un long jeu, à partir d’aujourd’hui jusqu’à pour toujours
DevOps Foundation
“Always take on new challenges—even if you are not sure you are completely
ready.”
DevOps Foundation
Test
We regularly measure the Lead Time, Process Time and the Percentage of
work done without errors (% C/A):
We release:
a. only by means of the scripts stored in the version control system — 5 points
b. by means of the scripts developed by the administrators for themselves —
3 points
c. manually by the administrators — 1 point
d. manually by the DevOps engineers — 0 points
QUESTIONS?
114
DevOps Foundation