devops chez voyages-sncf.com

Download Devops chez Voyages-Sncf.com

If you can't read please download the document

Post on 16-Apr-2017

179 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

@aguilloteau

Aller plus loin ensemble#

Antony GUILLOTEAUScrum master @Voyages-sncf.com

Votre speaker

@aguilloteau

Scrum master Voyages-sncf agilit lchelle de lentreprise depuis 2012 (Chane Youtube VSC)Travaille actuellement sur un projet organis en 3 quipes Scrum / mise en place dmarche DevOpsMon leitmotiv : que tout le monde travaille ensemble en partageant un objectif commun #

Lagilit pour rapprocher le Dev et le mtier

@aguilloteau

#

LOps : le grand oubli de lagilit

@aguilloteau

Rappel valeur : logiciel oprationnel plutt que documentation exhaustiveInteraction plutt que processusAdaptation au changement plutt que suivi dun planMoindre mesure : La collaboration avec les clients plus que la ngociation contractuelle#

Dev & Ops : des objectifs orthogonaux

@aguilloteau

Dev (dveloppement) : volution des systmesOps (exploitation) : garants stabilit et disponibilit des systmes#

Quelques symptmes

En cas de crise, combien de temps faut-il pour lever une alerte, recuperer les logs, les analyser puis identifier la defaillance ?

Combien de temps pour livrer un correctif en production ?

Quelle sont la frequence et la simplicite des mises en production ?

Existe-t-il des changes informels entre Dev et Ops ?

@aguilloteau

Frquence et simplicit de MEP : Les Ops sont rarement impliques au demarrage des projets. Il sensuit des delais allonges entre la livraison des applications et celle des machines qui serviront de socleExiste-t-il des changes informels entre Dev et Ops ?Souvent uniquement par mail ou par ticket (type JIRA)#

Les objectifs du DevOps

Un meme objectif : delivrer le meilleur logiciel aux clients de lentreprise

Amliorer la coopration entre les Dev et les Ops

Fluidifier llaboration du produit

Amliorer la livraison du produit

@aguilloteau

Coopration : Construire et MCO en communFluidifierDvelopper avec la cible (environnement de production) et adapter le SI aux besoins des developpeurs. Alerter et monitoring (prvenir)LivraisonRapidit du TTM en garantissant la fiabilit et la stabilit du produit#

Voyages-sncf en quelques chiffres

4,32 milliardsdeuros de volume daffaires en 2015

3,1%de croissance

1000 collaborateurs2/3 Ddis linternational

52% de femmes et 48% dhommes

@aguilloteau

#

Voyages-sncf en quelques chiffres

NUMERO 1 DUE-TOURISME

1er site de voyagesen ligne franais

12 millions de visiteurs uniques par mois

80 millionsde voyages vendus en 2015

FLEURON TECHNOLOGIQUE

250 ingnieurs

2 data-centers3500 serveurs 60 traoctets de donnes traites chaque mois

28 ventes par seconde

@aguilloteau

#

Voyages-sncf en quelques chiffres

Taux de disponibilit de 99,997% soit 15 minutes dindisponibilit par an

1 heure dindisponibilit = 1 millions deuro de VA de perte sur le WEB France

@aguilloteau

#

Amliorer la coopration Dev & Ops

@aguilloteau

#

Amliorer la coopration Dev & OpsManque de communication & incomprhension

@aguilloteau

Peu dchanges (dv ops pour aider linstallation et lexploitation, ops dv pour amliorer le monitoring techniques ET mtier)Coopration : Construire et MCO en commun

#

Amliorer la coopration Dev & Ops

Intgration des Ops dans la vie du sprint de Dev (prsence aux dmonstrations fonctionnelles, dmonstrations ddies, participation aux cadrages, )

Point hebdomadaire entre Dev & Ops pour changer sur la vie de la production

Accompagnement des Dev lors des bascules de production

Communauts de pratique transverses

@aguilloteau

#

Fluidifier llaboration du produit

@aguilloteau

#

Fluidifier llaboration du produit

@aguilloteau

Dvelopper avec la cible (environnement de production) et adapter le SI aux besoins des developpeurs. Monitoring#

Fluidifier llaboration du produit

Dvelopper avec la cible (environnement de production)

@aguilloteau

#

Dvelopper avec la cible

Environnement similaire du dveloppement la production

Infrastructure as a Service interne

Les configurations de production sont rpliques jusquaux environnements de dveloppement

@aguilloteau

Environnements similaires version logicielle, architecture (apache) Infrastructure as a service : Les dv ne sont plus ralentis par la mise disposition denvironnementLes dev ne ralentissent plus les Ops avec des demandes dactions sans valeur ajoutee#

Fluidifier llaboration du produitAdapter le SI aux besoins des developpeurs

@aguilloteau

#

Adapter le SI aux besoins des developpeurs

Les Dev proposent les technologies les plus adaptes au dveloppement du produit

Les Ops challengent les technologies proposes en amont

Les Devs et les Ops sont impliqus dans leurs mises en oeuvre

@aguilloteau

#

Fluidifier llaboration du produitAlerter des modifications de comportement

@aguilloteau

#

Alerter des modifications de comportement

Dmarche Behavior Driven Development pour identifier les ventuelles rgressions fonctionnelles

Tests de performance automatiss pour ne pas dtriorer les performances avec les nouvelles fonctionnalits

Tests de charges pour sassurer du bon fonctionnement du produit en productionSous la responsabilit de lquipe de dveloppement

@aguilloteau

#

Fluidifier llaboration du produitMonitorer pour prvenir

@aguilloteau

#

Monitorer pour prvenir

Dfinition des indicateurs avec les Dev, les Ops et le mtier

Des logs centralises pour analyser les incidents (ELK) Le Big data nous permet de stocker ce volume dinformations

Les dashboards de supervision techniques et mtiers sont raliss par l'quipe (Grafana)

@aguilloteau

#

Amliorer la livraison du produit

@aguilloteau

#

Amliorer la livraison du produitLes Devdveloppent et livrent

Les Ops installent et exploitent

@aguilloteau

Pour tre inform des modifications de comportement#

Amliorer la livraison du produit

Une usine logicielle performante pour livrer rapidement

@aguilloteau

#

Une usine logicielle performante

Dpt de code versionn (GIT, SVN)

Pipeline de livraison pour dployer automatiquement le produit en construction

Serveur dintgration continue pour construire automatiquement le produit (Jenkins)

Outil de release pour packager le produit automatiquement

Outil commun avec la production pour le dploiement sur les environnements dassemblage, dintgration et de recette

@aguilloteau

#

Amliorer la livraison du produitFiabiliser les livraisons

@aguilloteau

#

Fiabiliser les livraisons

Validation des installations avec lexcution des tests fonctionnels (Behavior Driven Development) sur les diffrents environnements

Environnement ISO-PROD pour valider linstallation

Tests de performance automatiss et tests de charge

@aguilloteau

#

Amliorer la livraison du produitUn produit stable

@aguilloteau

#

Un produit stable

Utiliser les Feature toggle pour dployer souvent en dsactivant les fonctionnalits non abouties

Mettre en oeuvre des circuit breaker pour amliorer la rsilience de son application

Utiliser le dark launch (production cache) pour valider au plus tt les nouvelles fonctionnalits sans impacter tous les utilisateurs

@aguilloteau

#

DevOps, une transformation tous les tages

@aguilloteau

#

Devops, une transformation tous les tages

@aguilloteau

Impacts oprationnels et managriaux#

Devops, une transformation tous les tages

Industrialiser lusine logicielle, la livraison, les tests, le dploiement, le monitoring

Evolution des rles et missions de chacun : former les Dev et Ops

Privilgier le management matriciel au management oprationnel

@aguilloteau

Evolution des rles : Le Dev fait de lOps : sensibilisationLOps fait du Dev (quipe pluri disciplinaire) : former et accompagner le changementManagement matriciel : Les quipes sont phmres (la dure dun projet)#

Mais des rsultats probants

Site VSC : 4 mises en production par an 1 mise en production par mois

Certains projets avec une mise en production chaque sprint

Des fonctionnalits beta en 3 mois plutt quun cycle de 9 mois

Open source interne pour autonomie des quipes

@aguilloteau

#

Lvolution DevOps en synthse

@aguilloteau

#

Lvolution DevOps en synthse

@aguilloteau

Waterfall (cycle en V)Mise en production espaces avec un contenu important (1 2 releases par an)Souvent dans la douleur phase de validation en fin de version#

Lvolution DevOps en synthse

@aguilloteau

AgileCycle itratif avec un produit testable la fin de chaque itration des fins de validation et non dinstallationNotion de release qui regroupe plusieurs itrations#

Lvolution DevOps en synthse

@aguilloteau

Lean : se base sur lagile, industrialisation des processus, partage de connaissance dans lquipe, pluri-disciplinarit des membres de lorganisationToyota et le kaisen#

Lvolution DevOps en synthse

@aguilloteau

Continous integration : Capacit de tester et dployer automatiquement et de manire industrialiser le soft#

L