devops chez voyages-sncf.com

Post on 16-Apr-2017

189 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

@aguilloteau

@aguilloteau

Antony GUILLOTEAUScrum master @Voyages-sncf.com

Votre speaker

@aguilloteau

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

@aguilloteau

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

@aguilloteau

Dev & Ops : des objectifs orthogonaux

@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 ?

@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

@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

@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

@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

@aguilloteau

Ameliorer la cooperation Dev & Ops

@aguilloteau

Améliorer la coopération Dev & Ops

Manque de communication & incomprehension

@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

@aguilloteau

Fluidifier l’elaboration du produit

@aguilloteau

Fluidifier l’élaboration du produit

@aguilloteau

Fluidifier l’élaboration du produit

Developper avec la cible (environnement de production)

@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

@aguilloteau

Fluidifier l’élaboration du produit

Adapter le SI aux besoins des developpeurs

@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

@aguilloteau

Fluidifier l’élaboration du produit

Alerter des modifications de comportement

@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

@aguilloteau

Fluidifier l’élaboration du produit

Monitorer pour prevenir

@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)

@aguilloteau

Ameliorer la livraison du produit

@aguilloteau

Améliorer la livraison du produit

Les Devdeveloppent et livrent

Les Ops installent et exploitent

@aguilloteau

Améliorer la livraison du produit

Une usine logicielle performante pour livrer rapidement

@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

@aguilloteau

Améliorer la livraison du produit

Fiabiliser les livraisons

@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

@aguilloteau

Améliorer la livraison du produit

Un produit stable

@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

@aguilloteau

DevOps, une transformation à tous les etages

@aguilloteau

Devops, une transformation à tous les étages

@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

@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

@aguilloteau

L’evolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

L’évolution DevOps en synthèse

@aguilloteau

top related