Upload
microsoft
View
561
Download
1
Embed Size (px)
Citation preview
Agenda
• La problématique
• C’est quoi ? Pourquoi ?
• Pour qui ?
• Intérêts ?
• Prérequis ?
• Par où commencer ? Outils, méthodes
Kiparlaki ?
Designer Développeur Testeur Intégrateur
DSI
CDP
Sécurité
Système
Réseaux
X
X
X
X
X
X
X
XX
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 ».
DevOps - Définition
• Devops est la contraction des termes anglais « development » (développement) et « operationsIT » (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
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
Pour quels types d’organisations ?
• Les acteurs du Web / Mobile
• Industrie (objets connectés)
• Éditeurs de logiciels
• Fournisseurs de services Cloud
• Jeux
• …
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 :
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
Vision pré-DevOps
« Vite vite on met en
production »
« Ne pas confondre vitesse et précipitation. La production c’est
du sérieux »
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
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
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/
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
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
Quelques chiffres
• Source : Etude CA “What smart businesses know about devops”.
• Panel : 1300 décideursIT répartis dans 21 pays
• Disponible surhttp://aka.ms/devopsca
Méthode de travail – côté développeurs
dev
Cahier des chargesRésultat
dev
Cahier des chargesRésultat
dev
Cahier des chargesRésultat
dev
Cahier des charges
Résultat
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
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
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
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
Par où commencer ? Les outils
Souvent DevOpsest perçu comme « du déploiement continu » dans l’esprit des gens…
Les outils ce n’est pas que pour le déploiement
Contrôle de code source
Build
Intégration et
déploiement
continus
Automatisation
des
configurations
Automatisation
des tests
Surveillance et
feedbacks
Contrôle de
code source
Contrôle de code source
• Visual Studio Online (TFVC / Git)
• GitHub
• Bitbucket
Build
Intégration et
déploiement
continus
Automatisation
des
configurations
Automatisation
des tests
Surveillance et
feedbacks
Contrôle de
code source
Build : Compilation et packaging
• Visual Studio Online (Build System)
• Jenkins
• Teamcity
Build
Intégration et déploiement
continus
Build
Intégration et
déploiement
continus
Automatisation
des
configurations
Automatisation
des tests
Surveillance et
feedbacks
Contrôle de
code source
Intégration et déploiement continus
• Outils de déploiement • VS Release Management
• Teamcity
• Plateforme de déploiement (IaaS)• Microsoft Azure
• Amazon AWS
Automatisation des
configurations
Build
Intégration et
déploiement
continus
Automatisation
des
configurations
Automatisation
des tests
Surveillance et
feedbacks
Contrôle de
code source
Automatisation des configurations
• SC Configuration Manager
• PowerShell DSC
• Chef
• Puppet
• Salt
Automatisation des tests
Build
Intégration et
déploiement
continus
Automatisation
des
configurations
Automatisation
des tests
Surveillance et
feedbacks
Contrôle de
code source
Automatisation des tests
• Visual Studio Premium (Coded UI tests)
• QTP
• TestComplete
Surveillance et
feedbacks
Build
Intégration et
déploiement
continus
Automatisation
des
configurations
Automatisation
des tests
Surveillance et
feedbacks
Contrôle de
code source
Surveillance et feedbacks
• Surveillance• SC Operation Manager
• Azure Operational Insight
• Collecte feedbacks• Uservoice.com
• Getsatisfaction.com
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
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Microsoft Azure and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other
countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond
to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date
of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION