Upload
jason-de-oliveira
View
5.063
Download
1
Embed Size (px)
Citation preview
DevOpsUne histoire de réconciliation et d’un bel avenir !
Jason DE OLIVEIRA (CELLENZA)
Stéphane GOUDEAU (Microsoft)
#DevOpsDayFr
Introduction
« Devs » contre « Ops »
La frontière classique des organisations quisépare les équipes de développement (« Devs »)et les équipesd’exploitation (« Ops »).
• Conflits et objectifs contradictoires entre leséquipes
• « Je ne comprends pas, moi ça marche endev, il faut voir les Ops.. » VS « Tous lesservices sont Up, pas de charge, ça vient duDev… »
• Livraisons avec beaucoup d'erreurs, voired’échecs
• Administration manuelle, lente et sourced’erreurs
Le mur de la confusion
Adapter le SI aux demandes
du marché en introduisant des
évolutions dans le code
= Maximiser le changement
Maintenir la disponibilité en
contrôlant les évolutions pour
réduire les risques de pannes
= Minimiser le changement
Équipe de développementd’application
Équipe système et infrastructure
Application déployée
« Composants,
couches logicielles,
services,… »
« Clusters, fermes,
pare-feu, réseau,
stockage,,… »
Fonctionnalités
Culture Produit
Innovation
Stabilité
Culture du Service
Rationalisation
Pourquoi DevOps ?
“DevOps is development and operations collaboration”
“DevOps is treating your infrastructure as code”
“DevOpsis using automation”
“DevOpsis Kanban for Ops?”
“DevOpsis feature toggles”
“DevOpsis small deployments”
L’objectif du mouvement DevOps est de
fluidifier les processus et de créer une
synergie en favorisant la collaboration entre
les équipes de développement (« Devs ») et les
équipes d’exploitation (« Ops »).
En supprimant les frictions et les blocages, on
améliore la productivité et l’efficacité du
système d’information de l’entreprise.
Cela apporte des logiciels de très haute qualité
et des meilleurs services aux clients.
Facteurs clés de succès
• Forte réactivité sur la correction d’anomalies et
la gestion des incidents
• Les livraisons sont les plus petites, simples et
fréquentes possible
• Les besoins et contraintes opérationnelles sont
prises en compte dès les premières phases des
projets
• Confiance mutuelle et coopération entre
équipes, voire réorganisation et mutualisation
des équipes
La culture DevOps
• Valeurs fondamentales :
▪ Respect mutuel, confiance réciproque, et
systématisation du partage de l’information
• Vision positive de l’échec :
▪ Les organisations doivent apprendre de
leurs échecs et prendre des risques pour
anticiper de nouveaux besoins opérationnels
• Développement des compétences des
acteurs du système(« Kaizen »).
• Démarche d’introduction volontaire de
défauts dans le système :
▪ Capacité du système à se remettre en
service après un dysfonctionnement.
▪ « Failsafe: Guidance for Resilient Cloud
Architectures
▪ http://msdn.microsoft.com/en-
us/library/windowsazure/jj853352.aspx
DevOps : Une philosophie…
Les principes et les
promesses de DevOps
Le processus de « Continuous Delivery »
ApprendreApprentissage actionnable
Elimination des déperditions | Réduction de la durée du cycle | Intégration et visibilité
Rétroaction en continue | Qualité en continu | Livraison en continu
Continuous Delivery & DevOps
Plan Develop OperateRelease
Méthodes Agiles DevOps
Business Development Operations
The Wall of Confusion
Continuous Delivery & DevOps
Optimisation des ressources
Amélioration de la qualité et de la disponibilité
Hypothesis-drivendevelopment& continuouslearning
Les outils DevOps
Cycle de développement logiciel
Release Management Monitoring
Déploiement
Provisionning
d’infrastructureConfiguration
d’application
Configuration
du systèmeTélémétrie
Supervision
technique
StoryboardingSource Control
Management
Software
Design
Agile Portfolio
ManagementBuild Tests
Reporting et
BI
Analyse de
codeIntégration
continue
Réduction des cycles de
livraison
Réduction des cycles de livraison
Stratégie de branches et gestion des releases
DEV
MAIN
Bra
nch
Développement
de nouvelles
features
Bra
nch
Correctifs liés à la production
RELEASE
Report correctifs
NightIy
Builds
PROD
INTEG
QA
Integration
Continue DEV
Manual
Builds
Release Management
Optimisation de l’utilisation
des ressources
Optimisation de l’utilisation des ressources
• Une gestion unifiée des ressources qu’elles soient à
demeure ou dans le Cloud
• Automatisation des environnements
• Support des technologies tiers-parties
Provisioning dans Azure
• Windows Azure Platform PowerShell
cmdlets
▪ http://www.windowsazure.com/en-
us/documentation/articles/install-
configure-powershell
▪ https://github.com/Azure/azure-
sdk-tools
• REST API & Management Library
azure topic verb optionsprompt>
accountaccount locationaccount affinity-groupvmvm diskvm endpointvm imageserviceservice certsiteconfig
downloadimportlistshowdeletestartrestartshutdowncapturecreateattachdetachbrowseset
usernamepassworddns-prefixvm-namelb-porttarget-image-namesource-pathdisk-image-namesize-in-gbthumbprintvalue-v-vv
• Windows Azure command-line tool for Mac and Linux
▪ http://www.windowsazure.com/en-us/documentation/articles/command-line-tools/
DSC (« Desired State Configuration »)
Traditional Scripts
Technology Specific
DSC Engine
Dependency ResolutionLogging & Error Handling
Reboot ResiliencyRepeatable Automation
ResourcesTechnology Specific
ConfigurationIntent
Groupe de ressources
• Entité de gestion dans
laquelle sont intégrés des
regroupements de multiples
ressources de même type
ou non.
• L’appartenances à un
groupe de ressources est
exclusive
• Les ressources peuvent
être multi-régions
RESOURCE GROUP
Autres outils DevOps
Amélioration de la qualité et
de la disponibilité
Amélioration de la qualité et de la disponibilité
• Supervision de la performance, de la disponibilité, des
exception et des usages
• Autoscaling
• Debugging en production
• Load testing
Les outils de mesure Windows Azure
Windows Azure
Diagnostics
Cloud Service
monitoring
Application
Les outils Visual Studio Online
AVAILABILITY
USAGE
PERFORMANCE
Tests de charge
Autoscaling dans Azure
Hypothesis-driven
development
& Continuous learning
Apprendre de la production avec les
remontées de l’application
• Data Driven
Development
• Prendre facilement
des décisions
d'investissement
basées sur des
données objectives
ApprendreApprentissage actionnable
Hypothesis-Driven Development
http://barryoreilly.com/2013/10/21/how-to-implement-hypothesis-
driven-development/
Conclusion
Develop Build
Test
Deploy Environments Monitor and Learn
Processes
Dev/Test
Integration
Pre-Production
ProductionDE
V
BI
Z
OP
S
DevOps et Microsoft
Livre Blanc DevOps
• http://blog.cellenza.com/a-la-
une/cellinsights-1-devops-de-la-
vision-limplementation/
• http://www.cellenza.com/cellinsights
• http://www.cellenza.com/Content/Cel
lInsights/cell%27insights-1-
devops.pdf
© 2012 Microsoft Corporation. Tous droits réservés. Microsoft, Windows et les autres noms de produits sont des marques déposées ou des marques commerciales de Microsoft aux États-Unis et/ou dans d'autres pays.
Les informations contenues dans ce document sont fournies uniquement à titre indicatif. Elles représentent l'opinion actuelle de Microsoft Corporation sur les points cités à la date de cette présentation. Microsoft s'adapte aux conditions fluctuantes du marché et ce
document ne doit pas être interprété comme un engagement de la part de Microsoft ; de plus, Microsoft ne peut pas garantir la véracité de toute information présentée après la date de la présentation. MICROSOFT EXCLUT TOUTE GARANTIE, EXPRESSE, IMPLICITE
OU STATUTAIRE, EN CE QUI CONCERNE CETTE PRÉSENTATION.
© 2013 Microsoft Corporation. Tous droits réservés. Microsoft, Windows et les autres noms de produits sont des marques déposées ou des marques commerciales de Microsoft aux États-Unis et/ou dans d'autres pays.
Les informations contenues dans ce document sont fournies uniquement à titre indicatif. Elles représentent l'opinion actuelle de Microsoft Corporation sur les points cités à la date de cette présentation. Microsoft s'adapte aux conditions fluctuantes du marché et ce
document ne doit pas être interprété comme un engagement de la part de Microsoft ; de plus, Microsoft ne peut pas garantir la véracité de toute information présentée après la date de la présentation. MICROSOFT EXCLUT TOUTE GARANTIE, EXPRESSE, IMPLICITE
OU STATUTAIRE, EN CE QUI CONCERNE CETTE PRÉSENTATION.