Transcript
Page 1: Devops chez Voyages-Sncf.com

@aguilloteau

Page 2: Devops chez Voyages-Sncf.com

@aguilloteau

Antony GUILLOTEAUScrum master @Voyages-sncf.com

Votre speaker

Page 3: Devops chez Voyages-Sncf.com

@aguilloteau

L’agilité pour rapprocher le Dev et le métier

Page 4: Devops chez Voyages-Sncf.com

@aguilloteau

L’Ops : le grand oublié de l’agilité

Page 5: Devops chez Voyages-Sncf.com

@aguilloteau

Dev & Ops : des objectifs orthogonaux

Page 6: Devops chez Voyages-Sncf.com

@aguilloteau

Quelques symptômes

En cas de crise, combien de temps faut-il pour lever une alerte, récupérer les logs, les analyser puis identifier la défaillance ?

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 ?

Page 7: Devops chez Voyages-Sncf.com

@aguilloteau

Les objectifs du DevOps

Un meme objectif : delivrer le meilleur logiciel aux clients de l’entreprise

Améliorer la cooperation entre les Dev et les Ops

Fluidifier l’élaboration du produit

Améliorer la livraison du produit

Page 8: Devops chez Voyages-Sncf.com

@aguilloteau

Voyages-sncf en quelques chiffres

4,32 milliardsd’euros de volume d’affaires en 2015

3,1%de croissance

1000 collaborateurs2/3 Dédiés à l’international

52% de femmes et 48% d’hommes

Page 9: Devops chez Voyages-Sncf.com

@aguilloteau

Voyages-sncf en quelques chiffres

NUMERO 1 DUE-TOURISME

1er site de voyagesen ligne français

12 millions de visiteurs uniques par mois

80 millionsde voyages vendus en 2015

FLEURON TECHNOLOGIQUE

250 ingenieurs

2 data-centers3500 serveurs

60 téraoctets de données traitées chaque mois

28 ventes par seconde

Page 10: Devops chez Voyages-Sncf.com

@aguilloteau

Voyages-sncf en quelques chiffres

Taux de disponibilité de 99,997% soit 15 minutes d’indisponibilité par an

1 heure d’indisponibilité =

1 millions d’euro de VA de perte sur le WEB France

Page 11: Devops chez Voyages-Sncf.com

@aguilloteau

Ameliorer la cooperation Dev & Ops

Page 12: Devops chez Voyages-Sncf.com

@aguilloteau

Améliorer la coopération Dev & Ops

Manque de communication & incomprehension

Page 13: Devops chez Voyages-Sncf.com

@aguilloteau

Améliorer la coopération Dev & Ops

Intégration des Ops dans la vie du sprint de Dev (présence aux démonstrations fonctionnelles, démonstrations dédiées, participation aux cadrages, …)

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

Accompagnement des Dev lors des bascules de production

Communautes de pratique transverses

Page 14: Devops chez Voyages-Sncf.com

@aguilloteau

Fluidifier l’elaboration du produit

Page 15: Devops chez Voyages-Sncf.com

@aguilloteau

Fluidifier l’élaboration du produit

Page 16: Devops chez Voyages-Sncf.com

@aguilloteau

Fluidifier l’élaboration du produit

Developper avec la cible (environnement de production)

Page 17: Devops chez Voyages-Sncf.com

@aguilloteau

Développer avec la cible

Environnement similaire du développement à la production

Infrastructure “as a Service” interne

Les configurations de production sont répliquées jusqu’aux environnements de développement

Page 18: Devops chez Voyages-Sncf.com

@aguilloteau

Fluidifier l’élaboration du produit

Adapter le SI aux besoins des developpeurs

Page 19: Devops chez Voyages-Sncf.com

@aguilloteau

Adapter le SI aux besoins des développeurs

Les Dev proposent les technologies les plus adaptées au développement du produit

Les Ops challengent les technologies proposées en amont

Les Devs et les Ops sont impliqués dans leurs mises en oeuvre

Page 20: Devops chez Voyages-Sncf.com

@aguilloteau

Fluidifier l’élaboration du produit

Alerter des modifications de comportement

Page 21: Devops chez Voyages-Sncf.com

@aguilloteau

Alerter des modifications de comportement

Demarche Behavior Driven Development pour identifier les éventuelles régressions fonctionnelles

Tests de performance automatises pour ne pas détériorer les performances avec les nouvelles fonctionnalités

Tests de charges pour s’assurer du bon fonctionnement du produit en production

Sous la responsabilite de l’equipe de developpement

Page 22: Devops chez Voyages-Sncf.com

@aguilloteau

Fluidifier l’élaboration du produit

Monitorer pour prevenir

Page 23: Devops chez Voyages-Sncf.com

@aguilloteau

Monitorer pour prévenir

Définition des indicateurs avec les Dev, les Ops et le métier

Des logs centralisees pour analyser les incidents (ELK)

Le Big data nous permet de stocker ce volume d’informations

Les dashboards de supervision techniques et metiers sont réalisés par l'équipe (Grafana)

Page 24: Devops chez Voyages-Sncf.com

@aguilloteau

Ameliorer la livraison du produit

Page 25: Devops chez Voyages-Sncf.com

@aguilloteau

Améliorer la livraison du produit

Les Devdeveloppent et livrent

Les Ops installent et exploitent

Page 26: Devops chez Voyages-Sncf.com

@aguilloteau

Améliorer la livraison du produit

Une usine logicielle performante pour livrer rapidement

Page 27: Devops chez Voyages-Sncf.com

@aguilloteau

Une usine logicielle performante

Depôt de code versionné (GIT, SVN)

Pipeline de livraison pour déployer automatiquement le produit en construction

Serveur d’integration continue pour construire automatiquement le produit (Jenkins)

Outil de release pour packager le produit automatiquement

Outil commun avec la production pour le déploiement sur les environnements d’assemblage, d’intégration et de recette

Page 28: Devops chez Voyages-Sncf.com

@aguilloteau

Améliorer la livraison du produit

Fiabiliser les livraisons

Page 29: Devops chez Voyages-Sncf.com

@aguilloteau

Fiabiliser les livraisons

Validation des installations avec l’exécution des tests fonctionnels (Behavior Driven Development) sur les différents environnements

Environnement ISO-PROD pour valider l’installation

Tests de performance automatisés et tests de charge

Page 30: Devops chez Voyages-Sncf.com

@aguilloteau

Améliorer la livraison du produit

Un produit stable

Page 31: Devops chez Voyages-Sncf.com

@aguilloteau

Un produit stable

Utiliser les Feature toggle pour déployer souvent en désactivant les fonctionnalités non abouties

Mettre en oeuvre des circuit breaker pour améliorer la résilience de son application

Utiliser le dark launch (production cachée) pour valider au plus tôt les nouvelles fonctionnalités sans impacter tous les utilisateurs

Page 32: Devops chez Voyages-Sncf.com

@aguilloteau

DevOps, une transformation à tous les etages

Page 33: Devops chez Voyages-Sncf.com

@aguilloteau

Devops, une transformation à tous les étages

Page 34: Devops chez Voyages-Sncf.com

@aguilloteau

Devops, une transformation à tous les étages

Industrialiser l’usine logicielle, la livraison, les tests, le déploiement, le monitoring

Evolution des rôles et missions de chacun : former les Dev et Ops

Privilégier le management matriciel au management opérationnel

Page 35: Devops chez Voyages-Sncf.com

@aguilloteau

Mais des résultats 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 fonctionnalites beta en 3 mois plutôt qu’un cycle de 9 mois

Open source interne pour autonomie des équipes

Page 36: Devops chez Voyages-Sncf.com

@aguilloteau

L’evolution DevOps en synthèse

Page 37: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 38: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 39: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 40: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 41: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 42: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 43: Devops chez Voyages-Sncf.com

@aguilloteau

L’évolution DevOps en synthèse

Page 44: Devops chez Voyages-Sncf.com

@aguilloteau


Top Related