DevOps Intro
DevOps Intro
Introduction générale
Contenu
2
1. Qu'est-ce que DevOps?
Définitions de DevOps
‘DevOps (portmanteau de "development" et "operations") est une méthode de
développement de logiciels qui met l'accent sur la communication, la collaboration
(partage d'informations et utilisation de services web), l'intégration, l'automatisation et la
mesure de la coopération entre les développeurs de logiciels et les autres professionnels
des technologies de l'information (TI). DevOps reconnaît l'interdépendance entre le
développement de logiciels et les opérations informatiques. Il vise à aider une organisation
à produire rapidement des produits et services logiciels et à améliorer la performance des
opérations - l'assurance qualité’ ([Link]
Jez Humble
DevOps est "une communauté de pratique interdisciplinaire dédiée à
l'étude de la construction, de l'évolution et de l'exploitation de systèmes
résilients en mutation rapide à grande échelle".
4
“DevOps n'est que le principe Agile appliqué à
l'ensemble de l'entreprise.”
‘DevOps est simplement le principe Agile appliqué à l'ensemble de l'entreprise. Il offre une perspective
plus globale de bout en bout qui permet une transformation à l'échelle de l'entreprise’
‘DevOps n'est que le prolongement naturel d'Agile. Il reprend les principes directeurs et les meilleures
pratiques qu'Agile a apportés aux développeurs et les applique à une échelle beaucoup plus large dans
l'ensemble de l'organisation.’
* DevOps is Agile for the rest of the company
Mar 4, 2015 Posted by Tony Bradley In Blogs, ([Link]
5
Quelle est la situation actuelle ? Nous avons dressé des murs -
intentionnellement ou non - qui limitent les performances
To help Use
remove DevOps
this wall Here
“DevOps est une réponse à la prise de conscience croissante de l'existence d'un décalage entre ce qui
est traditionnellement considéré comme une activité de développement et ce qui est
traditionnellement considéré comme une activité d'exploitation. Cette déconnexion se manifeste
souvent par des conflits et de l'inefficacité”
(What is DevOps? [Link])
6
Le mur de la confusion
Development Operations
7
DevOps c’est ...
DevOps est un
moyen de créer
des logiciels tout
en accélérant la
mise sur le marché
sans sacrifier la
qualité et la
fiabilité.
8
Qu'est-ce que DevOps ?
▪ DevOps consiste à
identifier les blocages et
à éliminer les déchets du
système afin d'améliorer
continuellement votre
organisation et de fournir
de meilleurs logiciels.
Les blocages peuvent
prendre la forme de
longs processus
d'approbation, de
processus manuels et
même de certaines
ressources.
9
Le marché perçoit la solution de différents points de vue
• De “différent” …
Culture • Vers “Ensemble”
• De la complexité et de la lenteur…
Flux • Vers de bout en bout et simple
10
DevOps aide à atteindre les objectifs de l'IT
11
Nouvelle situation
Simplifier la vie ?
Culture Performance
Entreprise DevOps
Automatisation Performance
Culture
Flux Organisation
Vocabulaire DevOps
Continuous Delivery (CD) est une stratégie logicielle qui permet aux organisations de fournir de
nouvelles fonctionnalités aux utilisateurs aussi rapidement et efficacement que possible. L'idée
de base est de créer un processus reproductible, fiable et qui s'améliore de manière
incrémentale pour faire passer le logiciel du concept au client. L'objectif est de permettre un flux
constant de changements dans la production via un pipeline automatisé de livraison continue de
logiciels.
Continuous integration (CI) est la pratique, dans le domaine du génie logiciel, qui consiste à
fusionner toutes les copies de travail des développeurs sur une ligne principale partagée plusieurs
fois par jour. L'objectif principal de l’CI est de prévenir les problèmes d'intégration
Test automation est l'utilisation d'un logiciel spécial (distinct du logiciel testé) pour contrôler
l'exécution des tests et la comparaison des résultats réels avec les résultats prévus.
14
Adoption de DevOps
L'adoption de DevOps est favorisée par des facteurs tels que :
1. Utilisation de processus et de méthodologies de développement agiles et
autres
2. Demande d'augmentation du rythme des mises en production de la part des
parties prenantes(stakeholders) des applications et de l'entreprise
3. Large disponibilité d'infrastructures virtualisées et en Cloud auprès de
fournisseurs internes et externes
4. Utilisation accrue des outils d'automatisation et de gestion de la
configuration des centres de données
5. Il a également été suggéré que l'effet secondaire de l'approche
dominante et traditionnelle des États-Unis(USA) sur le
développement de l'économie et de la société est un effet
négatif sur le développement de l'économie.
6. Le style de gestion (“the Sloan model” vs. “the Toyoda model”)
garantit le développement de silos d'automatisation, créant ainsi
"l'écart DevOps" qui nécessite alors des capacités DevOps pour y
faire face. 15
Objectifs de DevOps
16
2. Autres méthodes
de développement
Développement classique de logiciels
2. Compléter la conception
5. Procéder à l'acceptation et au
déployer
Agile Software Development
Le développement agile met l'accent sur les logiciels fonctionnels comme principale mesure
du progrès. Ceci, combiné à la préférence pour la communication en face-à-face, produit
moins de documentation écrite que d'autres méthodes.
Les méthodes agiles sont parfois caractérisées comme étant à l'opposé des méthodes
planifiées ou disciplinées. Les méthodes agiles se situent du côté adaptatif de ce continuum.
Les méthodes adaptatives se concentrent sur l'adaptation rapide aux réalités changeantes.
Waterfall Agile
• Commence par une conception complète • Chaque Sprint fournit un logiciel
• La réalisation est suivie de l'essai du fonctionnel qui peut être utilisé dans la
produit final pratique.
• Enfin, les tests en pratique • Commence par fournir une fonctionnalité
• Pas de boucles de feedback de base à laquelle sont ajoutées d’autres
• Axé sur le plan (Plan-driven) fonctionnalités.
• Axé sur la valeur(Value-driven)
Approche traditionnelle et absence de qualité à la source
21
Approche traditionnelle et absence de qualité à la source
22
Approche traditionnelle et absence de qualité à la source
23
Réalités du développement et des opérations
24
Lean IT, Agile, ITIL and DevOps
• LSD – “Lean Software Development” Application de l'approche "Lean IT" au développement
de logiciels - mêmes principes que l'approche "Agile".
• Puisque l'un des principes Agile (et aussi très Lean) est de faire travailler les commerciaux et les
développeurs ensemble quotidiennement tout au long du projet, ne devrions-nous pas l'appeler
BusDevOps... ou gestion de la chaîne de valeur (value stream management)
• Bien qu'il s'agisse d'approches indépendantes, elles présentent de nombreuses synergies. Une
équipe DevOps pourrait utiliser :
• Approches agiles pour accélérer le TTM(Time To Market) principalement du côté du
développement (utiliser les méthodologies SCRUM et XP), et impliquer l'entreprise (utiliser
les rôles de "Product Owners" comme "Business Ambassadors").
• Techniques Lean pour créer et faire évoluer l'équipe DevOps tant du côté Dev que du côté
Ops (Team Vision, Visual Management, Team Leader Agenda, Retrospective Meeting, VSM,
VoC, …)
• ITIL Knowledge et les bonnes pratiques pour accélérer l'amélioration continue.
25
Lean est un changement de paradigme
Traditionnel Lean
Les managers ont toutes les réponses Le manager doit poser les bonnes
questions, les employés doivent avoir les
réponses en tant qu'équipe.
Les managers réfléchissent, les Les managers aident les travailleurs à
travailleurs se concentrent sur apporter de la valeur ajoutée
l'action
Les activités sont réalisées parce qu'on leur Les activités ne sont réalisées que si elles
demande d'être réalisées apportent une valeur ajoutée pour le client
Un certain taux de défaillances est inévitable Les défaillances peuvent être éliminées
Organisation Tout ou les petits processus Business & Projects Projects & Operations
29
DevOps est une évolution
30
DevOps est une évolution
DevOps
Continous Deployment
Continous Delivery
Continous Integration
Agile Development
31
3. Quel problème
DevOps permet-il de
résoudre ?
Pourquoi DevOps s'est-il créé ? C'est la solution à un ou
plusieurs problèmes ...
33
Importance du Feed-Back: Un modèle à trois voies
34
Les trois voies
▪ La première voie - Le flux
▪ Comprendre et accroître le flux de travail (de gauche à droite)
2 1
3 35
4. La mission des DevOps
DevOps augmente l'agilité et la stabilité
42
Même rythme entre l'entreprise et l’IT
44
5. Flux
2 La solution Flux
Le problème réside dans le fait que le Dev et l’Ops utilisent différents processus
Faire en sorte que les unités de travail "circulent" dans l'équipe pour apporter de la valeur ajoutée
Avoir conscience des Comment chaque unité de travail Développer des habitudes
processus doit-elle être traitée fructueuses favorise la performance
de l'équipe
Documentation Le degré de documentation des Contribue à normaliser les
des processus processus méthodes de travail
43
DevOps et ITSM
44
Flux pour la création et l'exploitation de services
45
L’approche Scrum
46
L’approche Scrum
47
L’approche Scrum
48
L’approche Scrum
49
L’approche Scrum
50
L’approche Scrum
51
L’approche Scrum
52
L’approche Scrum
53
Automation Performance
Flow Organization
54
Automation Performance
Flow Organization
55
6. Performance
Automation Performance
Flow Organization
62
Automation Performance
Flow Organization
Niveau de performance Comprendre les performances Facteur d'hygiène de base pour les
sur de petites unités de travail clients.
Niveau de performance Understanding of performance Orienter la plus grande valeur
(Créativité) on larger units of work or ajoutée pour l'entreprise
specials
58
Automation Performance
Flow Organization
Flow Organization
Le changement,
c'est bien
Communication Outils
Honnêteté et
Transparence
ouverture
d'esprit
Récompenser les
Collaboration Culture bons
comportements
L'innovation à la
Confiance base
Accepter
Responsabilité
l'échec
Pas de
reproche
61
Automation Performance
Flow Organization
62
Automation Performance
Flow Organization
63
Automation Performance
Flow Organization
Eliminez les silos et créez des Des équipes stables, regroupées, avec
équipes interfonctionnelles un objectif commun et un mandat
intégrées suffisant
▪ Surmonter le défi du changement par ▪ Équipes des produits et équipes des plates-
rapport à la stabilité formes
▪ Créer une responsabilité partagée au ▪ Des KPI d'équipe au lieu des KPI personnels
sein de l'équipe pour toutes les
exigences ▪ Parler le même langage
▪ Analyse, conception, ingénierie, essais, ▪ Chercher d'abord à comprendre, puis à être
intégration, livraison et déploiement compris
▪ Analyse, conception, ingénierie, essais, ▪ Outils (logiciels, tableau Scrum)
intégration, livraison et déploiement ▪ Rétrospective et stand-up quotidien
Resultas:
▪ Un feedback honnête et ouvert
▪ délai de livraison plus court !
▪ Formation, partage des connaissances
▪ plus de murs de confusion
▪ plus de confiance et de plaisir ▪ Événements de renforcement de l'esprit
d'équipe
▪ une qualité supérieure, un risque
moindre
64
Automation Performance
Flow Organization
65
Faire évoluer la culture
66
Organisation
Automation Performance
Flow Organization
75
Automation Performance
Flow Organization
Les responsabilités de l'équipe et l'obligation de rendre des comptes, et qu'elle est capable de les assumer.
69
Automation
Flow Organization
Structure
2 L'organisation des équipes et la
gouvernance
Structure
1
IT orientée vers
le service 4
3
(‘DevOps’)
Haute performance
Integration Modèle d'équipe
Modèle d'intégration Haute performante pour
DevOps pour guider Intégration performance guider l'équipe de
l'intégration des direction et les
équipes Dev et Ops. équipes DevOps
70
Automation Performance
Flow Organization
Le client IT Service(s)
• Personne ▪ Toutes les
responsable du fonctionnalités qui
processus soutiennent les
commercial processus
• Les usagers du d'entreprise
service ▪ Apporter la valeur
ajoutée demandée
Equipe DevOps par les clients
▪ Responsable de la "santé" d'un service
▪ Contient toutes les connaissances et
compétences nécessaires pour soutenir et
développer le service
71
Service en Cloud
72
Modèle organisationnel : DevOps
1
Déterminer le périmètre d'une équipe DevOps
Behavior &
Attitude
Flow Organization
‘Cloud’
75
Automation Performance
1
Comprendre la demande
Behavior &
Attitude
Flow Organization
Client
Equipe DevOps
76
Automation Performance
1
Poursuite du déploiement au sein de l'équipe Behavior &
Attitude
Flow Organization
77
Automation Performance
Flow Organization
78