Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.



Documents pareils
La présentation qui suit respecte la charte graphique de l entreprise GMF

Vérifier la qualité de vos applications logicielle de manière continue

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Agilitéet qualité logicielle: une mutation enmarche

MSP Center Plus. Vue du Produit

impacts du Cloud sur les métiers IT: quelles mutations pour la DSI?

Date Titre de la présentation COMMENT VÉRIFIER LES PERFORMANCES RESSENTIES PAR L UTILISATEUR D UNE APPLICATION MOBILE JANV 2015

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Le grand livre du DSI

Prestations de conseil en SRM (Storage Ressource Management)

OFFRES DE SERVICES SDS CONSULTING

Sommaire. Systèmes d Exploitation Intégration Sage 100 Sage CRM Disponibilité Client Bases de données... 3

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

BOOK REFERENCES ERGONOMIQUES Gfi Informatique

Le Product Owner Clé de voute d un projet agile réussi

Catalogue Formations Jalios

Eric Bertrand 08/11/06 Maître de conférence 1

tech days AMBIENT INTELLIGENCE

Archivage intermédiaire de données Scientifiques ISAAC Information Scientifique Archivée Au Cines

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Méthode Agile de 3 ème génération J-P Vickoff

Position du CIGREF sur le Cloud computing

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

De la criticité de la haute dispo pour améliorer le service à l'usager : le Cg44 prend la vague de l agilité

SOMMAIRE. Octobre Edito p 1 Evènements p 2 Conseil -Schéma Directeur d Intégration p 3 Intégration- LIMS p 4 Formation - Contrôle Commande p 5

Antoine Morel Ingénieur Commercial DVI

IaaS à la sauce Portails Focus sur. Pierre Aubert Orange Portails OF/DMGP/Portails/DOP 1 er Juillet 2013

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

UM2 - Master 2 Année Sensibilisation aux Tests de Projets Informatique - Managed Testing -

Retour d expérience implémentation Scrum / XP

Méthodologie de mise en place de

PEPI GPI (Gestion de Projet Informatique) - Note de Cadrage décembre

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Accélérer l agilité de votre site de e-commerce. Cas client

Présentation de Financea Un dispositif adapté pour la recherche de la performance opérationnelle

Marché Public. Serveurs et Sauvegarde 2015

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

REX gros projets Drupal. Drupal Camp Toulouse Novembre - +qdelance


Efficacité énergétique pour les particuliers : une solution pour le monitoring énergétique

Fiabilisation des bases de données BtoB : Un enjeu majeur

Mise en place d un projet VDI

Processus d Informatisation

Agenda. Introduction au projet SIMM. Réduction des volumes de sauvegarde avec RMAN

Gestion des sauvegardes

APX Solution de Consolidation de Sauvegarde, restauration et Archivage

Transformation vers le Cloud. Premier partenaire Cloud Builder certifié IBM, HP et VMware

La reconquête de vos marges de manœuvre

Comment optimiser les tests avec une démarche d automatisation simplifiée

Pré-requis techniques

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

Produits et grille tarifaire. (septembre 2011)

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

Cloud Computing. La révolution industrielle informatique Alexis Savin

Comment booster vos applications SAP Hana avec SQLSCRIPT

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Modèle de cahier des charges CRM

DocForum 18 Juin Réussites d un projet Big Data Les incontournables

EXPERIENCED BY SQLI GROUP 2011

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

Fiche produit. DS mobileo services

CRM PERFORMANCE CONTACT

Livret de Stages 2014 / 2015

NEXTDB Implémentation d un SGBD Open Source

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

ENJEUX NUMÉRIQUES AUTOUR DU COMPTE PERSONNEL D ACTIVITÉ

BI2BI. Migrer avec succès son capital décisionnel Business Objects vers Microsoft BI

Sujet Solution de sauvegarde de serveurs et postes de travail avec BackupPC et Bacula. par ALIXEN

Prérequis techniques

Testing and Acceptance Management industrialiser

VOLUME 1 CRÉATION D UN SITE WEB

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting)

Présentation Level5. Editeur de Logiciels. «If it s not monitored, it s not in production» Theo Schlossnagle #velocityconf

ITIL V2. La gestion des mises en production

Pourquoi OneSolutions a choisi SyselCloud

Hébergement MMI SEMESTRE 4

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

Pérennisation des Informations Numériques

«clustering» et «load balancing» avec Zope et ZEO

Etude des outils du Cloud Computing

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2

STRATEGIE, GOUVERNANCE ET TRANSFORMATION DE LA DSI

Communiqué de Lancement. Sage Intégrale V4.50

Novembre Regard sur service desk

Qu est-ce que le «cloud computing»?

EVault Endpoint Protection en détails : Gestion de l entreprise, Sauvegarde, Restauration et Sécurité

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

VMWare Infrastructure 3

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Transcription:

Retour d expérience RATP Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Les intervenants Alexis Bourgeois Chef de projet MOE (front web) Anis Zouaoui CTO Bruno Duval VP Pro. Services Pilote et coordonne la mise en service de l application ibus Assurance de Qualité Technique Fournit l outil de test de charge et de performance

L application IBus Le projet IBus Refonte d une applications existante destinées à la population machiniste BUS Objectifs Un portail unique pour toute l entreprise pour renforcer la cohésion de groupe (plus d éditorial en doublon) Rationaliser et homogénéiser des systèmes conformes aux normes RATP S inscrire dans une perspective d évolution des habitudes utilisateurs (diversités des supports mobiles) Services proposés Etre tenu informé des travaux en cours sur les voies de circulation Consulter ses horaires de service Echanger un service avec un collègue Echanger des messages avec son manager en s affranchissant du mail Poser des congés Etc.

Architecture de l application IBus

Les challenges liés à la performance Plus de 15 000 utilisateurs Les utilisateurs accèdent à leurs services plusieurs fois dans la journée Des heures de pic de fréquentation précises Pics de 40 000 pages vues / heures

Le coût d un problème de performance détecté tardivement Mise en production d une nouvelle application suivie de problèmes de performances Fonctionnement ok en interne mais très lent depuis l extérieur de l entreprise Impact technique : 10 experts (applicatif, infrastructure, réseau, externes) mobilisés pendant 8 jours pour auditer le système soit 80 jours/h Impact fonctionnel : une expérience qui met à mal la vision de l application et affaiblit l adhésion des utilisateurs

Intégrer la performance dans le processus de développement Volonté de la RATP de maitriser la performance : Tout au long du cycle de vie des projets (THINK, BUILD, RUN) De bout en bout (de la vue utilisateur à la vue technique) Une nécessité pour assurer la qualité et la pérennité des applications Une obligation pour répondre à l «effet Google» : tout le monde s attend à ce que l application marche et soit rapide

La performance: un défit à plusieurs dimensions Performance Perçue Usage Charge interne, Charge externe, Vieillissement de données, batchs Applications Pools, threads, connections, cache, algorithmique, bonne pratiques, synch/asynch, compression, échanges, indexation, etc. Ressources Dimensionnement, OS, cpu, mémoire, réseaux, disques, volumétrie, etc.

La démarche de gouvernance de la performance RATP Gestion des EXIGENCES DIMENSIONNEMENT des architectures Gestion de la CAPACITÉ Définition des exigences en terme de performance Définition des modèles de charges Dimensionnement des architectures techniques Préparation de la performance Benchmarking et analyse des risques techniques Mesure de la capacité des systèmes critiques (en terme de performance, disponibilité, stabilité) Prédiction de la capacité future du système THINK BUILD RUN THINK BUILD RUN THINK BUILD RUN TESTS de performance AUDITS de performance SURVEILLANCE de la performance Les différents types tests pour mesurer, analyser et prévoir la performance Outillage, processus et organisation en place Les audits techniques (BD, OS, applicatif, réseau, disque, etc.) Contexte et moyen mis en œuvre Les types de surveillance en place (réseaux, système, applicatif, temps de réponse) Couverture de la surveillance THINK BUILD RUN THINK BUILD RUN THINK BUILD RUN

La démarche de gouvernance de la performance RATP - Moyens OUTILS CONNAISSANCE GOUVERNANCE de la Performance ACTEURS ET COMITÉS PROCESSUS

Tests de performance et Agilité : 2 dimensions Méthode de développement Agile Traditionnelle En cascade Comment intégrer le test de performance dans un processus Agile? Méthode de test Agile Traditionnelle En cascade Comment être plus Agile dans les tests de performance?

Tester en mode agile Un testeur de performance se doit d être agile, même si on le présente au management comme du «en cascade», design, exécution des tests, analyses Analyser les problèmes de performance «en silos», de manière très spécialisée ne permet pas un diagnostic précis ; il faut avoir une approche globale, itérative L infrastructure de test de performance doit supporter cette agilité

Organisation à la RATP: collaboration impérative Equipes développement MOE (CdP) Equipes testeurs 1 définition Définition des des scénarios scenarios fonctionnels fonctionnels 2 Echange sur les fonctionnalités couteuses en Perf. (Batch, BDD) 3 Implémentation des scenarios retenus 4 Lancement campagne de tests sur environnement iso production 5 Analyse des résultats obtenus et propositions d amélioration 5 6 Lancement campagne de test en environnement de production Mise en Service

Résultats obtenus Tests de performance avant optimisation (1 ère itération) Tests de performance après optimisation (dernière itération) Gain de performance = x4

Intégrer le test de performance dans un processus Agile : la théorie La performance devrait aller de soit dans un processus de développement Agile Une application fonctionnelle à chaque itération La mesure de la performance à chaque itération Le suivi des indicateurs de performance dans le temps L ajout de nouvelles fonctionnalités impacte les performances, etc Organisation cible Un ingénieur de performance travaille en continu Le retour sur investissement est obtenu par la détection des problèmes de performance tôt dans le processus

Intégrer le test de performance dans un processus Agile : la pratique Dans le processus de développement Agile Les fonctionnalités passent toujours devant la performance C est logique: pour tester la performance, il faut d abord avoir les fonctionnalités Conséquences Les test de performance sont la plupart du temps réalisés en fin de cycle de développement On manque de temps pour réaliser des test de performance systématiquement

La pratique : l impossibilité de réaliser des test de performance complets à chaque sprint L impact sur le projet Plus d itérations = plus de tests = plus de charge Immobilisation des environnements pendant les tests Des cycles de développement plus courts, donc moins de temps pour tester Comment tester sur un environnement de production en service? Le coût du test de performance systématique en Agile devient trop important La clé est dans: L analyse du risque lié à la performance pour prioriser l effort de test Le positionnement de jalons tout au long du projet (par exemple : 20%, 50%, 80%, 100%) L automatisation des tests Intégrer le sujet de la performance dès le début du projet pour tous les membres de l équipe Inscrire la performance (SLAs)

Suivi des risque Performance IBUS

Automatisation des tests de performance Pour limiter le coût du test de performance en environnement agile Le prévoir au plus tôt Idéalement prévoir une intégration dans le serveur d Intégration Continue (Jenkins par exemple) L automatisation des tests de performance est plus complexe que celle des tests fonctionnels Design plus complexe Analyse souvent très difficile car ne nombreux paramètres entrent en jeux Pas de résultat simple du type «Passe / Rejeté» Il est souvent difficile de comparer 2 tests La part de «l humain» reste toujours importante, notamment pour les nouvelles applications dont on connait moins le comportement

Impact sur la maintenance et priorisation Prévisions de 10% d évolution par an par rapport à la charge de mise en place (trains de maintenance) Impact direct sur la maintenance des scénarios dans les mêmes proportions Dans le contexte de la RATP, la maintenance des scénarios est estimée à 3 k /an par application Nécessité de prioriser l effort de test de performance sur les applications critiques Plus globalement, au regard du temps consommé par les tests de charge, on les priorise : Pour les applications critiques (impact métier ou impact d image) Pour les application non critiques ayant des composants communs avec une infrastructure critique (par exemple : équipements réseau type reverse proxy, brique logicielle type serveur web mutualisé)

Les principaux enseignements

Sur la performance en mode Agile Le test de performance est trop complexe pour être exécuté en totalité à chaque sprint Les équipes de test doivent travailler en étroite collaboration avec les équipes de développement L automatisation des tests est une clé pour limiter leur coût, mais la maintenance de cette automatisation a un coût

Sur le test de charge et de performance Il est primordial de bien sélectionner les applications pour lesquelles on réalise des tests de performance et de prévoir le coût associé à la maintenance de ces derniers De même, porter une attention particulière aux fonctionnalités critiques (batch, traitement complexe, etc) qui pourraient dégrader les performances globales Les tests de performance de go/no go (pré mise en service) doivent être menés : sur le(s) environnement(s) de production ou équivalent (équivalent d une action de maintenance) avec des scénarios fonctionnels en cohérence avec les comportements des navigateurs web (gestion des caches par exemple, parallélisation) avec des injecteurs de charge dédiés afin de reproduire un comportement proche des futurs usages applicatifs (position géographique des utilisateurs, bande passante, etc)

Sur le test de charge et de performance L étude de la performance continue après la mise en service : car les systèmes continuent à évoluer (volumétrie, usage, etc) car on veut suivre les éventuelles dégradations de performance pour pouvoir mettre en place des solutions perfectives (et idéalement pro actives) Des solutions simples pour mesurer les performances : Mesure temps de réponse de la production côté serveur web (vision serveur) Mise en place de sonde externe indépendante du réseau d entreprise qui mesure le temps de réponse de l application en production (vision client)

Merci pour votre attention Nous seront heureux de répondre à vos questions!