Interviews

DARVA, partenaire du monde universitaire

A la recherche de nouveaux talents, DARVA s’ouvre au milieu universitaire et signe un partenariat avec l’Université de Poitiers.

Ce rapprochement se concrétise par la remise d’une bourse « Vocation Numérique » à une étudiante en Master d’Informatique, Victoire AMOUH.  Par cette initiative, DARVA confirme son soutien aux femmes dans les filières de l’informatique. Dans un contexte technologique où nous avons besoin de renforcer nos équipes pour proposer des solutions toujours plus innovantes basées sur des technologies de pointe, nous avons souhaité nous ouvrir sur l’avenir en nous rapprochant du monde étudiant.

« A l’occasion d’une visite dans nos locaux de l’Université de Poitiers, nous avons échangé avec Michel GUÉRIN, Directeur de la Fondation Université Poitiers, sur les possibilités d’engagement de DARVA.  L’Université de Poitiers a l’avantage de proposer un cursus complet en informatique, de la licence au master. Un projet de bourse étudiante représente donc un moyen de confirmer le soutien actif de DARVA à la filière informatique et ainsi, d’enrichir sa marque employeur », précise Mathilde Collas, Responsable des Ressources Humaines chez DARVA.

  La bourse « Vocation Numérique », créée par l’Université de Poitiers et les entreprises du Numérique du Poitou-Charentes, avec la participation du SPN (réSeau des Professionnels du Numérique), permet de soutenir un étudiant pendant son cursus universitaire.

Favoriser les carrières féminines dans le numérique

Mathilde et Victoire à la cérémonie de remise des bourses Vocations Numériques, à l’Université de Poitiers le 19 novembre 2019

Pour la première fois, nous nous sommes engagés dans le don d’une bourse d’étude à hauteur de 2000 €.  Notre choix s’est ensuite rapidement orienté vers une étudiante car nous souhaitions soutenir l’accès aux métiers informatiques pour les femmes, trop peu représentées dans ce secteur d’activité. Nous avons retenu Victoire AMOUH, étudiante en Master 2 d’informatique.  

 « Après une licence en développement logiciel à l’Institut Africain d’Informatique au Togo, j’ai décidé de poursuivre mon master en France, où je me suis intéressée au domaine du décisionnel. Après mon diplôme, je souhaite acquérir de l’expérience et construire ma carrière en tant que développeur BI», explique Victoire. « La bourse Vocation Numérique est pour moi d’un grand soutien et je suis très heureuse d’avoir été choisie comme lauréate. Cette bourse m’a permis de renouveler mon équipement informatique et d’être plus à l’aise financièrement pour me concentrer sur mes études. »

  Nous avons également proposé à Victoire de réaliser son stage dans nos locaux afin de bénéficier des compétences de nos collaborateurs. Le 30 janvier dernier, nous l’avons accueillie pour une première visite de nos locaux ; l’occasion d’échanger sur son parcours et de lui présenter nos métiers.  

« J’ai pu découvrir plus en détail le fonctionnement de l’entreprise. Des collaborateurs m’ont présenté  leur mission dans les domaines base de données, développement back-end et front-end. J’ai également échangé avec les équipes Business Intelligence et la gestion de projet. Tout ça dans une ambiance accueillante et un esprit de partage », souligne Victoire.

  Pour DARVA, cette expérience concluante devrait se renouveler à la rentrée prochaine avec l’Université de Poitiers. D’autres partenariats sont actuellement à l’étude, notamment avec l’Université de La Rochelle afin de poursuivre notre ouverture sur le monde universitaire et la recherche.

Victoire AMOUH échange sur les technologies étudiées au cours de son cursus avec Vincent PRÉLOT, notre administrateur de base de données

En savoir plus

Stockage objet : Interview de Michael Joly Armani

Michaël Joly Armani présente le principe et l’intérêt du Stockage Objet en adéquation avec les méthodes de fonctionnement des systèmes de production et d’exploitation informatique de DARVA.

Interview – Michaël Joly Armani, Ingénieur de Production à DARVA.

En 2015, DARVA a mis en œuvre du « stockage objet », de quoi s’agit-il ?

Historiquement, les fichiers étaient conservés sur des systèmes de fichiers traditionnels (type NAS pour Network Attached Storage). Un fichier contenait des données qu’il fallait lire ou écrire sous forme d’enregistrements.

Depuis, les fichiers contiennent souvent des données « non-structurées » : image, fichier PDF, documents bureautiques. L’application qui les consomme traite le fichier comme un tout, qu’elle charge fonctionnellement en un seul accès.

Avec l’avènement progressif du web, des web services, des plateformes d’échanges de fichiers et des normes de sécurité, l’utilisation du protocole HTTP est devenue incontournable. Il s’est substitué à FTP, NFS, CIFS et d’autres protocoles propriétaires. Puis Amazon, avec son service S3, pour Simple Storage Service à défini un standard de fait.

A DARVA, en 2015, nous avons mis en œuvre un service de stockage objet compatible Amazon S3 pour les applications gérant des pièces jointes en nous appuyant sur ces dernières tendances.

Il s’agit donc essentiellement d’un changement de méthode d’accès ?

En théorie oui, en pratique c’est beaucoup plus que cela.

Le protocole étant plus récent et les exigences de disponibilité, scalabilité et performance étant beaucoup plus fortes avec le web, le stockage objet est en adéquation avec celles-ci.

Côté technique, deux mécanismes existent pour assurer la protection des données : l’Erasure Coding, méthode divisant les données en fragments répartis sur différents nœuds et le Replica Factor, duplication de la donnée sur différents nœuds.

Ce type de stockage permet nativement une scalabilité horizontale. Grâce à ces deux méthodes, la maintenance est facilitée sur les nœuds de stockage. Un nœud peut être mis en maintenance sans que le service rendu soit impacté.

Par ailleurs, les évolutions en cours de déploiement vont nous permettre de disposer de fonctionnalités supplémentaires telles que :

  • L’ajout de métadonnées afin de valoriser les objets stockés pour effectuer une analyse ultérieure et des recherches rapides.
  • Le versioning d’objets : une application peut écrire plusieurs fois un fichier ayant le même nom. Celui d’origine n’est pas supprimé, il est remplacé par le nouveau. L’ancien est accessible en précisant son numéro de version.
  • Sans oublier le WORM (Write Once Read Many) qui permet de garantir, par exemple dans un cadre légal, qu’un objet ne pourra pas être supprimé pendant une durée donnée.

Quelles sont les solutions DARVA qui en bénéficient ?

De la même manière que les bases NoSQL utilisées, le stockage objet est une brique essentielle des applications de dernière génération (à partir de 2015).

Ces applications sont conçues pour des mises à jour à chaud (les couches techniques : OS, bases de données, stockage objet mais aussi les applications elles-mêmes).

Par exemple, pour l’application OREA (Outil pour les Recommandés Electroniques en Assurance), les données doivent être conservées suivant le type, entre 7 et 10 ans. Pour assurer cette rétention, nous avons activé la fonctionnalité WORM.

Et pour les applications plus anciennes ?

Nous avons réalisé des modifications de nos applications traditionnelles pour qu’elles en bénéficient également, ainsi les applications Auto ont été migrées complètement en 2019. Nous prévoyons également le passage de la totalité du domaine habitation au premier trimestre 2020.

La solution est-elle liée à Amazon ?

Elle l’est par sa conformité au standard défini par Amazon mais le stockage est situé dans le Cloud interne DARVA. Quand nous avons fait ce choix, Ceph s’est imposé à nous car il existait peu d’offre. Depuis, pour des raisons de simplicité de maintenance et de fonctionnalités supplémentaires, nous déployons une autre solution : Cloudian. Pour DARVA, nous avons mis en place 2 clusters éloignés géographiquement de plus de 80 km, avec une réplication bidirectionnelle, permettant de garantir un niveau de service maximal.

Quelle est la roadmap des évolutions techniques à DARVA ?

Depuis octobre 2018, nous travaillons sur la containerisation. A ce jour, les 3/4 de nos applications sont migrées sous Docker et nous allons déployer en production l’orchestrateur Kubernetes à partir de février.

Une 1re expérience sur l’orchestration a été réalisée début 2019 (Lire l’interview d’Anthony CHARLES)

En savoir plus

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