Le monde de l'informatique est divisé depuis toujours en deux univers : les personnes qui créent (Dev) et celles qui exploitent en production (Ops). Cette séparation peut générer stress et frustration. Les équipes n'ont pas l'impression d'aller dans le même sens et cela nuit à la productivité. Pour les réconcilier, un ensemble de pratiques et d'outils ont été imaginées: elles se cachent derrière le terme DevOps. Qu'est-ce que c'est exactement ? Quels problèmes est-ce que cela résout ? Quelle est la bonne approche pour le mettre en place? Nous vous proposons de découvrir notre vision sur ce sujet lors de cette session d'introduction.
14. DevOps – définition Wikipédia
• Inventé par Patrick Debois en 2009 durant
l'organisation des premiers devopsdays.
• DevOps est un mouvement visant à réduire la
friction organisationnelle entre les "devs" et les
« ops ».
15. DevOps - Définition
• Devops est la contraction des termes anglais
« development » (développement) et « operations
IT » (exploitation).
• L’approche DevOps prône une meilleure
communication entre les équipes de développement
et d’exploitation, afin d’améliorer la conduite de
projet
16. DevOps – Vu du Gartner
“The DevOps movement was born of the need to improve
IT service delivery agility and found initial traction within
many large public cloud services providers. Underpinning
DevOps is the philosophy found in the Agile Manifesto,
which emphasizes people (and culture) and seeks to
improve collaboration between operations and
development teams. DevOps implementers also attempt to
better utilize technology—especially automation tools that
can leverage an increasingly programmable and dynamic
infrastructure from a life cycle perspective”
NDLR : cette image n’a aucun rapport, elle nous a juste fait marrer
18. Pour quels types d’organisations ?
• Les acteurs du Web / Mobile
• Industrie (objets connectés)
• Éditeurs de logiciels
• Fournisseurs de services Cloud
• Jeux
• …
19. Pour quelles tailles d’organisation ?
• L’approche DevOps est très adaptée aux petites
structures (startup)
• Normal : petite structure = communication plus facile et compétences plus
généralistes
• Elle est néanmoins également adoptable dans de
grandes organisations
• Sous réserve de bien s’y prendre
• Quelques exemples :
21. Pour quels types d’applications / services ?
• Parfait pour les applications de type
• Web
• Jeux
• Web Mobile
• Mobile (/! à la fréquence des mises à jours)
• Moins adapté à des applications Client / Serveur
mais envisageable si utilisation de certaines
technologies facilitant le déploiement
• Click-Once
• Application distante (RemoteApp) via VDI
23. Vision pré-DevOps
« Vite vite on met en
production »
« Ne pas confondre vitesse et
précipitation. La production c’est
du sérieux »
24. Qui est responsable ? Approche classique
• Les développeurs produisent du code à partir d’une
demande détaillées dans un cahier des charges
• Les développeurs ne sont pas souvent préoccupés
par l’impact de leur code sur la production
• le travail du développement semble terminé (pour les dev) lorsque l'application
passe en production
• Les services opérant la production sont concentrés
sur la stabilisation des services et moins concernés
par la performance du code
25. Qui est responsable ? Approche DevOps
• DevOps = répartition des responsabilités et
implication de l’ensemble des acteurs de la chaines.
• Exemple chez Microsoft avec Office 365
26. Autre exemple -> Amazon :
« You build it, you run it »
Source : http://thenextweb.com/insider/2011/10/05/amazons-cto-amazon-is-a-technology-company-we-just-happen-to-do-retail/
27. Intérêts d’adopter une démarche DevOps
• Réduire le cycle de mise en production
• Approche plus fragmentée
• Petites évolutions vs révolution
• Mises à jour transparentes
• Mise en commun des responsabilités
• tout le monde dans le même bateau
• Amélioration continue
28. Intérêts d’adopter une démarche DevOps
• Réduction du coût de mise en production
• Réponse plus rapide aux besoins des clients
(internes ou externes)
• Etre plus compétitif
• Tant qu’un logiciel ou service n’est pas mis en production, il n’apporte aucune
valeur à son éditeur ou fournisseur
• L’approche DevOps est clairement là pour servir le business avant tout
• Exemple : le marché des navigateurs Web
29. Quelques chiffres
• Source : Etude CA
“What smart businesses
know about devops”.
• Panel : 1300 décideurs
IT répartis dans 21 pays
• Disponible sur
http://aka.ms/devopsca
35. Méthode de travail – côté développeurs
Dev /
Création
Cahier des charges
Résultat
36. Méthode de travail – côté développeurs
dev
Cahier des charges
Résultat
dev
Cahier des charges
Résultat
dev
Cahier des charges
Résultat
dev
Cahier des charges
Résultat
37. Méthode de travail - côté développeurs
• Méthodes traditionnelles : métaphore du BTP
• Méthodes agiles : autres métaphores plus adaptées
• Scrum = mêlée au rugby
38. Méthode de travail - côté développeurs
(les Ops sont les bienvenus)
Mise à jour du
Backlog produit
Implémentation
ValidationDéploiement
Feedback
Résultat correspondant au besoin
41. Par où commencer ? L’organisationnel
• Penser amélioration continue
• Faire un état des lieux
• Prendre conscience de là où on est, c’est le début de l’amélioration
• Commencer sur un périmètre réduit : une
application, un espace géographique…
• Commencer par une « petite » révolution
42. De l’importance des feedbacks internes
• Il faut mettre en œuvre un processus et des outils de
collecte des feedbacks
• Chaque membre de l’équipe doit pouvoir participer
• La boite à idée moderne :
• Version privée de user voice ?
• Forum privé ?
• Yammer ?
• Newsgroups
43. DevOps : quels outils
technologiques ?
Le bon artisan a les bons outils
44. Par où commencer ? Les outils
Souvent DevOps
est perçu comme
« du déploiement
continu » dans
l’esprit des gens…
Les outils ce n’est
pas que pour le
déploiement
71. Retrouvez nous sur la Microsoft Virtual Academy
http://www.microsoftvirtualacademy.com
http://aka.ms/meulta
Twitter : @meulta
Stanislas Quastana
http://aka.ms/stanislas
Twitter : @squastana
Etienne Margraff
74. What Is This Devops Thing, Anyway?
• What problems are we trying to solve?
• Fear of change
• Risky deployments
• It works on my machine!
• Siloisation