
Extrait de L'usine logicielle de Voyages-SNCF par Le Journal du Net
Pour accélérer ses développements informatiques, Voyages-SNCF Technologies a adopté Scrum et l'approche agile voici deux ans. Aujourd'hui, l'entreprise passe un nouveau cap avec la mise en place d'une usine logicielle. "Les méthodes agiles, c'est très bien pour travailler avec les métiers mais à côté, nous avons mis en place l'approche Devops pour pouvoir déployer rapidement nos applications. C'est ce continuum qui est le plus intéressant. Tout le volet des tests et recette a été industrialisé et, désormais, les développeurs peuvent eux-mêmes placer les applications en production en toute autonomie, sans que notre qualité de service ne puisse être remise en cause." précise Gilles de Richemond, directeur général de Voyages-sncf Technologies.
Ainsi, en temps presque réel, le développeur sait si le code sur lequel il est en train de travailler passe les tests unitaires sans encombre. Ensuite, à midi et à minuit, les tests d'intégration sont lancés automatiquement. A partir des règles de qualité définies, chaque portion de code est alors notée, et les responsables disposent d'une vision claire sur l'avancement du projet et le niveau de qualité atteint par chaque composant du projet.
Pour automatiser ces tests d'intégration, les ingénieurs de VSCT ont fait le choix de l'outil Cucumber. Il permet de rédiger en langage naturel les scénarios de tests à appliquer sur telle ou telle fonction par exemple. Ces phrases descriptives sont ensuite traduites en code de test, en langage Groovy, puis exécutées via un outil de test classique, Protractor pour les applications ou SoapUI lorsqu'il s'agit de Web Services.
Enfin, pour déployer les environnements de test, les équipes de VSCT utilisent Puppet, et Rundeck pour déployer automatiquement les machines virtuelles. Cette automatisation à outrance permet de pouvoir mettre en production le code produit par les "sprint" de développement toutes les deux semaines.
Désormais, c'est aux technologies Big Data que se frotte VSCT. Les équipes nantaises exploitent notamment le moteur de recherche open source ElasticSearch pour l'analyse des données de log générées par le site Voyages-SNCF.com. L'infrastructure peut supporter jusqu'à 150 réservations de billets par minute, et génère une montagne de données. 1 To de fichiers log viennent s'ajouter chaque jour aux données stockées sur les serveurs. Avec la solution ElasticSearch, les ingénieurs de VSCT recherchent les éventuelles anomalies de fonctionnement qui peuvent survenir dans les 13 couches logicielles qui constituent l'architecture de Voyages-SNCF.com. En parallèle, ils ont constitué un cluster Hadoop de 120 nœuds de calcul pour diverses applications. "Aujourd'hui, le message à mes équipes est clair : le stockage des données ne coûte pratiquement plus rien. L'enjeu pour nous est de créer de la donnée en masse, même si on ne sait pas exactement comment nous pourrons l'utiliser. Un jour, nous en auront l'usage !", conclut le responsable.