Interviews

Le Cloud au service de la qualité applicative

Depuis la rentrée, DARVA s’appuie sur de nouvelles solutions du Cloud (G. Cloud, kubernetes, Slack…) pour améliorer la Qualité Applicative des développements de sa plateforme Sinapps. A travers cette mise en œuvre, elle démontre sa volonté d’industrialiser et d’améliorer la qualité de ses processus.

Explications par Anthony CHARLES, Responsable de l’Architecture

Sa fonction : Garantir la cohérence des choix d’Architecture au niveau entreprise en lien avec les différentes usines digitales de DARVA et la Direction de l’Infrastructure.

Anthony, pourquoi DARVA a-t-elle fait appel au Cloud pour améliorer la Qualité Applicative ?

DARVA construit des plateformes collaboratives, le plus souvent multitenants, destinées à la gestion des sinistres en Auto et Habitation.  Chaque plateforme fait appel à des composants applicatifs de différentes natures (internes/externes) ainsi qu’à des composants d’infrastructure (bases de données, stockage objet,…).

En pleine transformation digitale, nous avons perçu la nécessité d’industrialiser les processus permettant de garantir une qualité applicative optimale pour la réalisation de nos  plateformes. Déjà engagés dans une démarche Docker, l’implémentation technique à l’aide de Kubernetes est rapidement devenue une évidence mais nous ne disposions pas de cet outillage. C’est pourquoi la mise en œuvre d’un Cloud public nous a permis de démarrer cette implémentation, en nous laissant la possibilité à moyen terme d’internaliser facilement cette solution ou bien de changer de fournisseur Cloud.

Comment la Qualité Applicative intervient-elle dans le cycle de vie des solutions développées à DARVA ?

La qualité applicative se pilote principalement sous trois angles :

  • La qualité du code développé encadrée par de nombreux tests unitaires et l’analyse du code via un outil spécialisé.
  • La vérification fonctionnelle découlant d’un correctif ou d’une évolution spécifique qui va modifier le code de l’application. Cette modification du code impacte le cycle de vie applicatif à l’aide d’une “Pull Request”  (on utilise couramment le terme de PR) via l’outil de gestion des sources Git.  Un collaborateur peut alors vérifier le bon comportement de la PR.
  • La non régression globale de la solution, enrichie avec de nombreuses PR, est pilotée via des scénarios automatisés API et des tests de performance. Cette démarche permet de s’assurer que les différentes PR validées ne vont pas engendrer de régression tant fonctionnelle qu’en termes de performance sur la solution globale.

Nous avons implémenté deux processus :

  • Un processus PR permettant de mettre à disposition, pour une PR ciblée, un écosystème applicatif complet pour tester rapidement le développement réalisé.
  • Un processus de tests de non régression permettant de construire toutes les nuits un écosystème applicatif complet pour valider automatiquement qu’il n’y a pas de régressions sur la solution globale.

Sur quelles technos vous appuyez-vous ?

Notre démarche consiste dans un premier temps à construire l’ensemble des composants applicatifs de la solution sous forme de containers Docker (composants développés en Scala, Java) et à identifier des containers du marché pour les composants techniques et transverses (Etcd, MongoDB, Postgresql, SQLserver, Stockage S3,…).

Notre outillage qualité est basé sur Postman (Outil de tests API), Neoload (Tests de charge) et SonarQube (Contrôle de la qualité du code). Nous pilotons les workflows de construction, de déploiement et de tests qualité à l’aide de Jenkins.

Concernant le déploiement, il est réalisé sur un cluster Kubernetes, mis en œuvre sur GCloud à l’aide de plusieurs namespace (ce qui nous permet un cloisonnement sécurisé des différentes instances d’environnement).  Nous avons choisi GCloud car la console d’administration est relativement simple et l’implémentation de Kubernetes est reconnue comme une des meilleures du marché.

Enfin,  nous avons utilisé la plateforme collaborative Slack pour communiquer les URL d’accès provisionnées dynamiquement lors des déploiements, ainsi que les URL d’accès aux rapports de déploiement et de test.

Dans quel cadre avez-vous mis en place ces processus ? Sur quel projet ont-ils été expérimentés ?

Il est fréquent de débuter ce type de mise en œuvre par des applications simples… mais notre besoin immédiat concernait SINAPPS, une des applications les plus riches de DARVA. SINAPPS est la plateforme collaborative de DARVA qui accueille différents métiers dans le domaine de l’habitation. Une importante équipe projet est mobilisée sur cette plateforme en pleine conquête de marché avec des évolutions fonctionnelles régulières.

Cette plateforme est constituée de 12 containers (7 liés à l’application, les autres étant des composants techniques…). 5 autres containers transverses sont utilisés pour l’outillage de test de charge et le contrôle qualité du code applicatif. Les deux processus évoqués précédemment sont implémentés.

  • Processus Pull Request

 L’élasticité de Kubernetes permet d’absorber facilement un pic de validation induisant de multiples instances de l’environnement déployées en parallèle

  • Processus de tests de non régression

En complément du processus précédent, il est indispensable de vérifier toutes les nuits que la plateforme est stable fonctionnellement et techniquement dans son ensemble.

Quels sont les retours au sein de vos équipes ?

Il est un peu tôt pour se prononcer sur les gains réels mais les premières démonstrations prouvent une réelle attente sur ce sujet.  La mise au point est réalisée avec le TechLead de l’équipe SINAPPS qui exprime ses besoins pour  satisfaire l’ensemble de l’équipe projet.

Si à première vue, le montage est relativement simple il y a néanmoins des sujets techniques à traiter afin de proposer une expérience utilisateur satisfaisante (cf. industrialisation des jeux d’API lancés, reformatage des journaux Postman  pour faciliter l’analyse, formatage des messages Slack…).

Quand et comment pensez-vous l’intégrer dans vos processus ? 

L’ensemble du dispositif est en cours de finalisation avec pour objectif de l’exposer rapidement à l’équipe SINAPPS. Par la suite, la mise en œuvre réalisée pourra facilement être généralisée à d’autres solutions éditées et opérées par DARVA. 

Quels sont les bénéfices pour vos clients ?

Je suis convaincu que l’approche industrielle mise en œuvre permettra des gains de productivité significatifs sur le processus de QA tout en limitant les régressions liées à une application qui évolue rapidement.

Quelles évolutions envisagez-vous ?

Une première maquette est opérationnelle pour compléter l’outillage de non régression avec des tests extranet basés sur Cypress. Nous avons également débuté l’implémentation d’un Chatbot, couplé à Slack, pour donner plus de souplesse sur le déploiement des environnements dans le cadre du processus PR. Enfin, nous avons engagé la mise en œuvre de Kubernetes au sein de notre SI, ce qui permettra le moment venu, de vérifier la réversibilité du montage débuté avec GCloud.

En savoir plus

Témoignage MongoDB

 

Vincent PRELOT, Administrateur Base de Données chez DARVA

« MongoDB, une base de données NoSQL orientée document »

A travers son témoignage, Vincent PRELOT, Administrateur Base de Données, présente les apports de MongoDB pour nos équipes. En place depuis 2014, cette technologie permet de proposer à nos clients des plateformes de services avec un haut niveau de performance.

Pourquoi avoir choisi la solution MongoDB ?

En 2014, nous avons fait le choix de la solution MongoDB et du NoSQL (Not Only SQL) pour le développement de nos nouveaux services tels que Nomad, plateforme d’échanges entre les assisteurs et les dépanneurs/remorqueurs. Ce service, comme la plupart de nos offres, se caractérise par des exigences de disponibilité et de sécurité très fortes.

Par défaut, nos développeurs sont libres dans la modélisation des documents stockés en base. Ils correspondent à la sérialisation Json des objets métiers. Il est possible d’ajouter des contrôles de cohérence en base qui sont similaires aux comportements des bases traditionnelles (unicité, types, valeurs acceptées,…). Chaque langage de développement possède un « driver » officiellement supporté pour dialoguer avec la base (interrogation, mises à jour…).

 

Quel est le positionnement de DARVA pour la gestion des transactions ?

C’est le sujet le plus clivant dans l’adoption de MongoDB et du NoSQL. Même si la version 4.0 offre désormais la gestion des transactions, l’éditeur insiste sur la modélisation qui doit être pensée différemment pour garantir la cohérence des données et tirer profit de la souplesse du NoSQL. Notre activité d’échange de données est compatible avec ces principes mais d’autres précautions comme la vérification de l’idempotence ont été nécessaires pour garantir l’intégrité des données. C’est le cas pour Sinapps, notre plateforme collaborative pour la gestion des sinistres en habitation.

Et pour ce qui concerne la réplication ?

C’est la fonctionnalité incontournable pour assurer la résilience des services. Ici, les données sont répliquées à minima sur 3 copies (synchrones ou asynchrones).

L’application métier est connectée à l’ensemble mais une seule copie joue le rôle de nœud primaire. En cas d’incident, un des nœuds secondaires va prendre le relais dans un délai maximum de 3 secondes. Ce principe limite l’indisponibilité des services métier et les déconnexions observées avec d’autres technologies. Le fait que cette fonctionnalité soit native évite l’utilisation de mécanismes supplémentaires (réplication de disques, de VM, …).

Cette architecture nous permet désormais de réaliser des maintenances sur son infrastructure sans interruption de service sur nos applications en 24/7 (Sinapps, Nomad…). Les montées de version sont ainsi réalisées nœud par nœud, en quelques minutes sans coupure. Le retour arrière peut se faire avec la même souplesse, puisque les données métiers ne sont pas modifiées pendant cette opération.

Quels sont les apports de « sharding » ?

Ce type d’architecture nous permet une mise à l’échelle horizontale de la base de données (scaling). Pour ce faire, le stockage et l’interrogation des données sont distribués sur l’ensemble des serveurs alloués. Cela nous a permis de développer notre solution décisionnelle DbyD, plateforme de visualisation, d’exploitation et de valorisation de la data autour des événements climatiques et des factures bris de glace. Les temps de traitement ont été drastiquement diminués par rapport aux architectures traditionnelles et sont compatibles avec une alimentation quasi temps réel. L’utilisation du connecteur BI MongoDB nous permet ensuite d’accéder aux données depuis des outils décisionnels du marché comme Qlik Sense.

Pourquoi utiliser la licence entreprise ?

L’utilisation de la version « enterprise » de MongoDB nous donne la possibilité d’utiliser la solution « on premise » OPS Manager pour garantir le déploiement, la supervision et la sauvegarde des bases. Les données sont ainsi protégées en temps réel et les restaurations peuvent être effectuées à la seconde près. L’accès au support et à la formation « à la demande » est aussi un vrai plus pour nous.

Pour les équipe de l’Exploitation, le produit est facile à appréhender, les procédures sont compréhensibles et l’intégration avec les autres outils de l’entreprise basée sur des mécanismes standards (API, S3, systemd, …).

 

Et quelles sont vos attentes pour l’avenir ?

La fourniture d’images Docker nous permet désormais d’imaginer des solutions de déploiement encore plus simples pour les équipes de développement. A termes, elles pourront construire elles-mêmes des environnements MongoDB au travers d’un catalogue « self-service ».

Pour aller plus loin en termes d’évolution, une simplification de la configuration du chiffrement des données apporterait un gain de temps à nos équipes, notamment dans le cadre du respect des nouvelles réglementations imposées à nos applications telles qu’OREA, l’Outil pour les Recommandés Electroniques en Assurance.

En savoir plus

Interview de Christian DUCHESNE – Project Manager DARVA

« Nomad », une nouvelle aventure pour DARVA

En novembre 2014, DARVA décroche l’appel d’offres du SNSA (Syndicat National des Sociétés d’Assistance). La mission consiste à développer une plateforme commune d’échanges pour fédérer les assisteurs et leurs prestataires dépanneurs/remorqueurs. Rapidement, en janvier 2015 le projet démarre par une réunion de cadrage sur le périmètre attendu. La nouvelle plateforme, bientôt nommée NOMAD (Nouvel Outil de Missionnement Assisteurs Dépanneurs), doit sécuriser, simplifier et optimiser les processus de missionnement entre les assisteurs et leurs prestataires.

Christian DUCHESNE

Un an plus tard, le 1er prototype est livré. « Pour nous c’était un projet très novateur à tous niveaux » souligne Christian DUCHESNE.

Tout d’abord, le métier de l’assistance automobile est un nouveau domaine d’activité pour DARVA. En termes de management de projet, nous avons adopté pour la 1ère fois, la méthode agile, basée sur des cycles de livraisons courts et des validations fréquentes nécessitant une forte réactivité. Cette méthode utilisée à partir d’outils collaboratifs a impliqué une organisation exigeante, basée sur des ateliers itératifs de conception/réalisation avec la Maîtrise d’Ouvrage (MOA) Clients, de nouvelles instances pour le pilotage et le suivi opérationnels du projet. Les membres de l’équipe projet ont également adopté de nouveaux rôles.

« Grâce à leur coopération, les 3 assisteurs pilotes (Axa Assistance, Europ Assistance et Opteven) ont pu exprimer leurs besoins spécifiques.  Nous avons travaillé efficacement : un beau défi relevé par l’équipe projet SNSA et DARVA, qui a avancé avec un rythme soutenu, parfois déstabilisant mais qui a rapidement abouti à des livrables », précise Christian D.

 

Sur le plan technique, la plateforme NOMAD s’appuie sur un extranet et des Web Services. Son écosystème se base sur le framework PLAY2, SCALA, MongoDB et flux de données JSON/XML. Elle propose une norme commune d’échange exposée sous forme d’API REST (interfaces) orientée métiers et services, et consommée par les SI assisteurs et les éditeurs de Logiciel du marché. Elle est suffisamment souple pour évoluer et respecter certains workflows spécifiques des assisteurs. Comme son nom l’indique, NOMAD est une solution mobile, d’où une conception mobile-first et responsive design pour s’adapter au device (PC, smartphone et tablette). Elle propose également des notifications des nouvelles missions via SMS ou des appels robotisés. Elle répond également aux critères de haute disponibilité H24/7 qu’exige le métier de l’assistance automobile.

Enfin, pour accompagner le déploiement et faciliter la prise en main de l’extranet chez les prestataires, nous avons réalisé des vidéos de e-learning, disponibles en ligne ; principe qui devrait  être généralisé sur d’autres solutions.

La phase de test a débuté le 10 février avec les 3 assisteurs pilotes et 12 prestataires situés en Ile de France, donnant lieu à plus de 5000 missions. Le déploiement de la solution va s’opérer progressivement avant la période estivale.

« A ce jour, les 1ers retours sont positifs » constate Christian D. « Pour les assisteurs, NOMAD apporte une fluidité des échanges et une réactivité d’information et d’intervention. De plus, ils peuvent désormais gérer les adhésions de leurs prestataires directement via la plateforme. Les dépanneurs/remorqueurs pilotes, quant à eux, apprécient le gain de temps procuré par l’utilisation d’une solution unique et simple d’utilisation ».

 

Les autres sociétés d’assistance membres du SNSA vont entamer leurs travaux à partir du deuxième semestre, pour un démarrage courant 2017. Au total, un volume de 4,5 millions de missions d’intervention annuelles sont attendues !

D’autres évolutions sont à l’étude (solution mobile native iOS ou Androïd, géolocalisation, intégration facturation, …) mais nous pouvons déjà affirmer que ce projet stratégique est une illustration des capacités de DARVA à accompagner le marché dans sa transition numérique. Il nous a permis d’enclencher d’autres projets, notamment de poser la 1ère pierre de notre future plateforme de gestion des sinistres Sinapps. NOMAD marque le début d’une nouvelle aventure.

En savoir plus

Interview de Jean-Claude Wozna

Interview : Jean-Claude WOZNA, Président du Directoire de DARVA, nous présente la nouvelle Plateforme IRD

Vous préparez pour début 2016, la livraison d’une nouvelle plateforme de services. En quoi traduit-elle une approche innovante dans les métiers de DARVA ?

DARVA est née il y a 27 ans, à l’époque du Minitel. Depuis nous n’avons cessé de nous adapter aux besoins du marché et aux nouvelles technologies tout en faisant émerger des standards qui font référence. Au fil du temps, une telle démarche nous a notamment permis de venir adosser à l’EDI des Extranets, puis des Web Services afin de répondre aux attentes de nos clients. Le moment est désormais venu pour DARVA de se réinventer afin d’anticiper et de faciliter « la digitalisation » qui touche tous les acteurs du monde de l’assurance. La nouvelle plateforme de services DARVA capitalise sur notre savoir-faire unique et envié. Elle adopte l’état de l’art en termes de technologie, avec une forte orientation métier qui va bien au-delà du simple échange de messages. Le métier de DARVA évolue, s’enrichit et reste fondamentalement tourné vers la création de valeurs pour nos clients.

Par cette plateforme, que souhaitez-vous apporter à vos clients ?

Nous souhaitons conjuguer une approche industrielle, sur le modèle des grands opérateurs  du Cloud, associée à du pragmatisme et de la simplicité.

En utilisant les API (Application Programming Interface) mises à leur disposition, les systèmes de nos clients pourront intégrer de manière simple et standard les fonctionnalités orientées métiers de notre plateforme.

Cette nouvelle approche des métiers facilitera les futures implémentations chez nos clients tout en apportant la souplesse devenue nécessaire. Nous les accompagnerons dans l’intégration de cette plateforme afin de réaliser les évolutions en quasi transparence. La dimension collaborative deviendra prégnante dans les extranets dédiés aux acteurs de chaque domaine. La vision 360°, centrée sur les missions permettra à chacun, à tout moment, de gagner en fluidité et facilitera la relation digitale vers les assurés.

Pourquoi avez-vous choisi le marché de l’IRD pour lancer la plateforme ?

Le domaine de l’IRD a souvent été utilisé par DARVA pour innover et proposer de nouveaux usages (exemple du mode transparent, très novateur il y a quelques années). La norme IRD,  candidate à de multiples évolutions, devenait difficile à faire évoluer. Parallèlement à cela, la solution actuelle souffre d’un manque d’interface technique vis-à-vis des partenaires, afin de piloter complètement le service dans une logique B2B. C’est pourquoi le secteur de l’IRD nous a semblé le plus opportun pour démarrer cette plateforme. Ainsi, nous souhaitons rapidement  proposer au marché une première version de la plateforme, à partir  d’un périmètre limité à celui de la REN (Réparation En Nature) Directe.

Dans quelles mesures cette plateforme vous ouvre-t-elle des perspectives d’évolution ? 

A moyen terme, elle nous permettra d’être plus agiles dans la mise en œuvre de nouvelles fonctionnalités sur l’IRD. Plus globalement, cette plateforme est un investissement majeur pour DARVA et elle nous ouvrira des portes vers d’autres métiers et les perspectives sont multiples, à commencer par l’auto.

En savoir plus