Retour d’expérience de la transformation DevOps de Microsoft au DevOps REX
-
Upload
samuel-metias -
Category
Technology
-
view
69 -
download
0
Transcript of Retour d’expérience de la transformation DevOps de Microsoft au DevOps REX
Digital TransformationCloud Applications
Les Apps sont clés pour l’avenir du business
Sur 5 ans, 1€ investi dans une application PaaS dans Azure rapporte 466€ * *Forester
Les Apps développées ou migrées dans le PaaS Azure sont
disponibles sur le marché deux fois plus vite * *Forester
67% des services proposés par Azure sont
consommés directement par des Apps * *Microsoft
En 2016, 4 fois plus d’applications professionnelles sont adaptés au monde du mobile * *IDC
27% seulement des développeurs utilisent
Visual Studio en France
Les applications sont le cœur de la transformation digitale. Leur avenir passe par le Cloud, qui est le futur du business !
Sur 5 ans, 1€ investi dans les solutions DevOps de Microsoft rapporte 529€ * *Forester
Every company is a software company
Les PDG ont la conviction que le numérique va transformer le business plus que n’importe quelle autre tendance
Source: PWC CEO Survey
Tendance de transformation
métier, 5 prochaines années (%)
Avancées technologiquesInfluence démographique
Influence de l’économie globaleRaréfication des ressources & climatUrbanisation
86% des PDG considèrent le digital comme la priorité #1
Transformation ou “darwinisme” digital
du Fortune 500existent depuis l’an 2000
du S&P 500 seront de nouvelles compagnies en 2026
52% 75%
Les compagniesde toutes taillesentament leurtransformation
digitale
des dirigeantsrecherchent une
innovation de rupture
93%
50%83%
En2016
En2019
Le triangle de la transformationimpulse le passage dans l’ère du digital
Revenu directementattribuable au digital
20142019
22%41%
39%Déclenchentdirectement lesprogrammes detransformation
PrincipalSponsorde la transformationdigitale du business
DSIMarketing
Dépense ITestiméeEn 2017
Les directions métiers repensent les processuset les produits dans l’ère du digital
Les execs challengent les business models existants
Les leaders du Marketingréimaginent complètement
l’expérience client
La direction générale travaillesur une planification
à long terme
10%DAF assignent
de leur budgetde fonctionnementaux technologies
Rôle de la DSI
Guovernance
Contrôle
PDG
IoT cléd’efficacité
et d’innovation
Réductiondes
coûts
Innovationproduits
IoT Nouveaux BusinessModels
23% Directions métiers (DG)20% PDG
19% MarCom
Les décideursmétiers dépensent
dépensépar l’IT
pourchaque
$0.47
$1
DG
MarCom
PDG DSI
Pour s’adapter, les entreprises doivent changer leurs priorités
Rester centré sur l’expérience client.
Proposer un scénario multiplateforme devient une nécessité.
Les applications internes doivent rationalisées pour augmenter la productivité.
De nouveaux services et devices sont lancés de plus en plus vite.
Vous devez suivre les changements aussi vite que possible à grande échelle.
La sécurité est votre top priorité.
Vous avez besoin de savoir qui utilise votre service, et de fournir seulement les droits adéquats.
1 2 3
Définir la transformation digitale
Centrésur le contenu
Réactif Une écoute en temps
réel
PersonnaliséUn service VIP
apps
inter
face
data
data
data
data
data
data
data
data
data
data
apps
servi
ces
apps
servi
ces
apps
servi
ces
« Put peopleat the center »
Digital transformation
intelligent services
Transformez vos produits
Fidélisez vos clients
Optimisez vos
opérations
Appuyez vous sur vos
employés
12 ansâge moyen
des entreprises du
S&P 500 en 2020
1 million/heu
re nouveau
devices en ligne en 2020
60% des calculs
informatisés
seront dans le cloud publique
en 2025
Devenez Digital
Construire la prochaine generation d’applications intelligentesAvec une solution complète et ouverte pour chaque développeur et chaque plateforme :
Tirez profit de chaqueligne de code
Concentrez-vous surle service et pas la
mécaniqueRendez mes données
intelligentes
2 31
Outils de productivité Plateforme Cloud Service de données
EXISTING APPSRévélateur de transformation
digitaleshift de l’applicatif au service
focus sur l’expérience utilisateuragilité + industrialisation =
DevOpscloud ready
NEW APPSTerreau de la transformation digitaleservices par essenceanticipe l’expérience utilisateurréactivité + personnalisation = intelligencebuild on the cloud
The dilemna of Digital Transformation
« c’est collaborer entre les études, le
développement et la production »
« c’est une fiche de poste »
« c’est livrer plus vite des releases
plus petites »
« c’est de l’automatisatio
n »
Définir DevOps
DevOps est une démarche de collaboration agile entre Etudes (Dev), Production (Ops) et Métiers (Business)
sur l’ensemble du cycle de vie du service du design au support en
production.
Nos groupes produits pratiquent DevOps depuis des années (Windows, Office, Visual Studio…), nous faisons partie des pionniers du DevOps avec
Amazon, Google et Facebook et comme nos clients, nous avons dû nous transformer et intégrer DevOps.
DevOps est défini…
…et Microsoft est un leader des pratiques DevOps !
De 3 ans … à 3 semaines !
? RTM2,5
years
Planning Code CodeTest & Stabilize
Test & Stabilize
? Beta
< to this !
< From this …
La division Engineering de Microsoft est passé de l'expédition d'un produit sous boîte tous les 2,5 ans à fournir des mises à jour de produits et de services toutes les 3 semaines. Cette transformation aurait pas été possible sans DevOps!
DevOps chez Microsoft – nos histoires d’ingénierie
http://stories.visualstudio.com
DevOps est une démarche de collaboration agile entre Dev, Production (Ops) et Business sur l’ensemble du cycle de vie du service du design au support en production
Définir DevOps
Amélioration de la qualité de service
Amélioration continue
Monitoring et apprentissage continu grâce aux feedbacks
Accélération du provisionning
Fiabilisation des déploiements
Automatisation des tests
Accélération du Time to Market
Accélération des résolutions d’incidents (MTTR)
Industrialisation des déploiements
Culture et collaboration
Automatisation Continuous delivery
DevOps value by design scenarios 1/2
Mobile Cloud Modern apps Agility
Applicationsmulti – OS
Environnement et applications de haute qualité
Optimiser les coûts
Mean time to recover (délai moyen de résolution)
Amélioration continu des applications
Application multi-plateforme
Amélioration continue des infrastructures
Time to market (délai de mise sur le marché)
Adopter une culture et des pratiques DevOps
J’ai besoin que mes équipes métiers
connaissent mes services informatiques et s’en servent pour être au plus près du besoin
de mes clients.
J’ai besoin que mes services informatiques
soient délivrés rapidement et
adaptés régulièrement en fonction de l’évolution du
marché.
Les équipes de développement maitrisent mon cycle de développement agile. Elles délivrent des applications robustes et de haute qualité.
Je construis un contrat de confiance entre les équipes Dev et Ops via des relations win-win. Je maitrise ma chaine de livraison de bout en bout.
Agile operationsMa production est suffisamment mature et
maîtrisée pour augmenter les fréquences des release.
Agile development
Agile collaboration
Je fais la publicité de mes performances SI au business. Je fais découvrir mes services IT de pointe
DevOps for business
DevOps strategyJ’assiste le déploiement d’une
organisation agile. Mon SI s’adapte en temps réel aux besoins business.
opsops
dev
devbiz
board
J’ai besoin de plateformes
sures, fiables et modernes. J’ai besoin que mes équipes assurent
ces caractéristiques de manière continue et industrialisée.
J’ai besoin d’applications simples et
efficaces, adaptées à mon activité, et évolutives en fonction de mes
besoins. J’ai besoin d’équipes
réactives qui produisent des
livrables de haute qualité.
J’ai besoin d’intégrer les informations centralisées
par mes équipes informatiques et
métiers et gagner en
réactivité dans mes services.
Chaque étape du chemin qui mène à une adoption complète des pratiques devops peut être déclinée sur les trois piliers de la démarche : culture de la collaboration, automatisation et continuous delivery.
Teams organization
cloud strategyinfrastructure as a code
provisioning (on premise or in the cloud)
production
ops
staging
ops
integration
ops
build strategydev
dev
dev
agile practices & method
business implication cases & needs management
agile infrastruc
ture managem
entcapacity/change/
config managementincident & problems
managementproactive monitoring
services level management and
catalogagile master management
common metrics
replicationreplication
teststests tests
tests strategy & automation
biz
apps metrics & telemetry
release automation
database
lifecycle
IT security
devops
DevOps Practices
Solutions DevOps
AzureVSTS Marketplace
+ Dev Services
Operations Management Suite
Any tool
Log Analytics
Configuration
Management
Application Patch
Assessment Automation –
Desired State
Configuration
Visual Studio
DevOps Agile
Quality Subscriber Benefits
Training + Support
Idea to app
Any language
All your IT operations
tasks in one
Access to insights in minutes
Hybrid and open
Management anywhere, anytime
Azure Container Service
Application Insight
Azure Resource Manager
Python
Ubuntu
Docker
Azure Services Fabric
Microsoft vous aide à vous concentrer sur la valeur métier et l’innovation
Votre Application
Votre zone d’investissement
Azure Services
“Our mission is to empower every person and every organization
on the planet to achieve more.”
Nous vous garantissons une plateforme stable, sécurisée et à grande échelle.
Nous vous fournissons les outils pour innover et accélérer.
“The Microsoft DevOps solution enables high performance with more deployments and shorter lead times.”Benefits realized• Faster speed-to-market by as much as 20x,
leading to increased sales• Reduced cycle time by as much as 99%,
and more frequent deployments• Improved developer productivity with faster,
automated release processes• Faster recovery from failures and risk reduction• Infrastructure savings via Azure
DevOps TEI Report
EXPERIENCES
26
Début d’itération
Responsable infrastructureLance une mise à jour des serveurs
L’utilisateur se connecte à son application préférée
L’application se connecte au serveur le plus récent
L’application plante, mais se relance sur un serveur pas encore à jour
L’utilisateur ne se rends compte de rien
L’application, a automatiquement envoyé le rapport de bug au DEV
Over the air: Le DEV reçoit le rapport de bug, et s’engage à fournir le correctif dans le temps de l’itération
After landing: Une fois le correctif fourni, il est mis en phase de release accélérée
In the hotel: La version corrigée de l’application est production et fonctionne sur les serveurs les plus récents
Fin de l’itération
bug
1M$ 0M$ 0M$
apps balancer
bug
DEV
BIZOPS
Windows 101
2
3IS
Windows 10« Insider Fast Branch »
1
2
3
Les anomalies applicatives sont remontées automatiquement aux DEV
Le DEV corrige l’anomalie dans le temps du « ring » et le pousse dans le « store »
Le store propose la mise à jour de l’application uniquement pour les « ring » concernés
une MàJ est déployée sur cette branche
Windows 102
1CB
Windows 10« Current Branch »
1
2
Le « store » propose la mise à jour de l’application pour le « ring » concerné
L’utilisateur est content, son application fonctionne immédiatementune MàJ est déployée sur cette branche
I’m lovin it
Visual Studio on Windows
Visual Studio for Mac on macOS
Visual Studio Code on Windows, macOS, & Linux
Visual Studio Team Services online
Team Fondation Server on premise
+65kinternal developpers
4000people
650people in Team Services
+40feature teams
OrganizationRoles TeamsTaxonomyCadencePlanPractices
Alignment
Autonomy“Let’s try to give our teams three things…. Autonomy, Mastery, Purpose”
dev opsbiz
DevOps pratiqué par le groupe produit Visual StudioLes principes généraux
Tâches, Tests
Histoires utilisateursFonctionnalités
« Minimal Marketing Features »Expériences
Scénarios
ThèmesVision
Release Manageme
nt
Moteur de release
Jenkins connector
Puppet connector
Dashboard de release
Release Graph
DevOps pratiqué par le groupe produit Visual StudioGestion des besoins métiers et leur implication
dev opsbiz
division
3 semaines
3 itérations
6 mois
18 mois
Multi-release
« productunit »
« featureteam »
Autonomy
Alignment
DevOps pratiqué par le groupe produit Visual StudioConversations directes avec le management
dev opsbiz
DevOps pratiqué par le groupe produit Visual StudioPratiques agiles
dev opsbiz
Le « product manager » avec ses
équipes projet détermine les
scénarios prioritaires pour le prochain
sprint. C’est l’input du sprint planning.
Sem. 1
Sem. 2
Sem. 3
Sem. 4
Sem. 1
Sem. 2
Sem. 3
Sem. 4
Planning d’itération
Backlog Grooming
Déploiement !
Planning d’itération
Backlog Grooming
Fini !
Rétrospective
Les « product unit » sont
priorisés par l’équipe
produit et les « product
managers »
Le « daily standup meeting » est pratiqué en collaboration DevOps
et inclut le suivi quotidien des incidents en production sur le
périmètre fonctionnel de l’équipe
DevOps pratiqué par le groupe produit Visual Studio« Build », « branching » et stratégie de gestion des sources
dev opsbiz
common source code VSO & TFS
Release update for TFS
Long term features
short term featuresLong term features specific branch
TFS Release update specific branch
common RTM shipped version
TFS RTM
VSO RTM
short term
features commo
n branch
VSO iterative update on production VSO
continuous
update branch
RTM commo
n branch
TFS RTM specific branch
VSO RTM
specific branch
DevOps pratiqué par le groupe produit Visual StudioGestion des livraisons automatisées
dev opsbiz
PPE - anteprod env.SU0 : San Antonio
SU1 : Chicago
SU2
…
DevOps pratiqué par le groupe produit Visual StudioStratégie de tests et automatisation
dev opsbiz
Test
s Niv
eau 0
Tests techniques
Test
s Niv
eau 1
Cas de tests
Test
s Niv
eau 2
Tests fonctionnels
Test
s Niv
eau 3
Tests en production
QUAND ?Au cours de l’itération, sur l’environnement de DEV.
QUOI ?Tests unitaires isolés.
AUTOMATIQUE ?L’ensemble des tests unitaires sont automatisés.
QUAND ?A la fin de chaque itération sur un environnement d’intégration.
QUOI ?Tests unitaires, tests techniques SQL et VSSI.
AUTOMATIQUE ?Les tests sont automatisés via des scénarios techniques.
QUAND ?A la fin de chaque MMF (completed)
QUOI ?Tests du service et de ses dépendances.
AUTOMATIQUE ?Les tests sont semi-automatisés. Les services/infra sont testés séparément.
QUAND ?A la mise en production des MMF (shipped)
QUOI ?Tests d’interfaces, tests exploratoires, scénarios utilisateurs critiques.
AUTOMATIQUE ?Les tests sont semi-automatisés et manuels.<5sec <5sec <5min <30min
Temps moyen d’exécution d’une suite de tests standardisée et automatisée sur un MMF
PrinciplesTests should be written at the lowest level possible
Write once, run anywhere including production system
Product is designed for testability
Test code is product code, only reliable tests survive
Testing infrastructure is a shared Service
DevOps pratiqué par le groupe produit Visual StudioGestion de la dette technique
dev opsbiz
S1 S2 S3 S4 S5 S6
itération de stabilisation
S7 S8 S9 S10
L’objectifLe cycle en
V
La réalité Aujourd’hui
ON
OFF
“Feature Flags”
Introduce a new code path that is disabled…
More code gets written…
C’est seulement quand nous sommes prêt que le
nouveau code est activé !
Once we’re done, the flag is deleted
DevOps pratiqué par le groupe produit Visual StudioMise en production des fonctionnalités
dev opsbiz
DevOps pratiqué par le groupe produit Visual StudioMesures, télémétrie et pilotage par les données
dev opsbiz
Activity Logging
Traces
Job History Perf
Counters Ping Mesh
Synthetic Transactio
ns Customer
Usage KPI
Metrics
Tableau de bord d’une équipe
Live Site HealthTime to DetectTime To MitigateIncident prevention itemsAging live site problems Customer support metrics(SLA, MPI, top drivers)
EngineeringBug cap per engineerAging bugs in important categoriesPass rate & coverage
Velocity Time to buildTime to self testTime to deployTime to learn(Telemetry pipe)
UsageAcquisitionEngagementRetentionConversionChurn
DevOps pratiqué par le groupe produit Visual StudioMesures, télémétrie et pilotage par les données
dev opsbiz
DevOps pratiqué par le groupe produit Visual StudioMesures, télémétrie et pilotage par les données
dev opsbiz
L’oreille de l’utilisateurLes ingénieurs supports
Les yeux de l’utilisateurLes marketing et les commerciaux
Les nez de l’utilisateurLes cérémonies de démonstration / Télémétrie
La voix de l’utilisateurLes plateformes de votes et commentaires en
ligne
La main de l’utilisateurLes ingénieurs de maintenance
A/B testing
“Hypothesis, experiment,
learning !”
DevOps pratiqué par le groupe produit Visual StudioOrganisation des équipes
dev opsbiz
Program Manager DEV QA
DevOps pratiqué par le groupe produit Visual StudioOrganisation des équipes
dev ops
why it’s DevOps
biz
Program Manager ENG DS
Collaboration Version Control Build Work Item
TrackingFeature team
OPS
5 à 12 personnes
multidisciplinaire
12 à 18 mois de stabilité
backlog autonome
Team rooms
DevOps pratiqué par le groupe produit Visual StudioLe rôle des « OPS » dans DevOps
dev opsbiz
Time to MitigateTime to Detect
% o
f Inc
iden
ts
DRAFTDRAFT
Microsoft Confidential 48
Service Availability & Health Metrics
DRAFT DRAFTDRAFT
Incid
ent C
ount
Incid
ent C
ount
DRAFT
DRAFTDRAFT
% o
f Inc
iden
ts
User
Min
utes
DRAFT
DRAFTDRAFT
Error By SourceIncidents by Severity User Impact Minutes During Incidents
[TFS Only]
3
2
1
4
1. TFS Availability is on an improving trend. No Sev0/Sev1 LSIs for July.2. App Insights switched from synthetic availability to real-user experience in Ibiza
portal. A high volume of SEV-2 LSIs (72) contributed to customer impact in addition to intermittent UX errors. (UX fixes applied on 8/11 that improves availability)
3. App Insights was impacted by 3 long running LSIs related to ES maintenance, Ibiza updates and an Azure Storage outage.
4. TFS Service attainment (SLO) improved significantly MoM with focus on minimizing failed/slow commands and reviewing in weekly LiveSite reviews
DevOps pratiqué par le groupe produit Visual StudioLe rôle des « OPS » dans DevOps
dev opsbiz
Culture PrinciplesSite status is always priority 1
Global response teamOn-call DRI (Designated Responsible Individual) by areaService Delivery team in 5 time zones for 24x7Weekly live site review Monthly service review
Fix at root cause
Live-site issues become product backlog items
Automate solutions
Automating communication
Save timeAutomatically post to blog, email and
twitterConsistency
Leverage pre-approved templatesApproved templates make it easy to create an incident notification quickly. During the crisis it
also helps the team remember what is required.
Service status visible
RCA (Root Cause Analysis) transparencyFound one of the top customers with low
availability. Proactively reached out and resolved their issue.
Focus on the outliers (“Embrace the Red”)We measure availability by account …… and proactively reach out to customers with low availability