Comment adapter en quelques mois son système d’information à un nouvel environnement concurrentiel et réglementaire ? C’est le défi tenu par les assurance Alptis, situées à Lyon, spécialisées dans l’assurance aux professionnels individuels.
Micro-services et containers
L’assureur a découpé son système d’information monolithique en micro services, embarqués dans des containers Docker, la solution à la mode actuellement pour développer et déployer de nouvelles applications informatiques. C’est ce qu’a présenté Gérald Croes, architecte système d’information de l’assureur, le 23 mars à l’occasion du salon Cloud Computing.
« Nous avons découpé le système d’information en 130 micro services, » présente l’architecte. Ces micro services sont transportés via des containers Docker. Le projet a été lancé à partir de 2013.
Exemple de micro-services mis en ligne : la gestion des partenaires assureurs de Alptis. Un micro service va proposer la gestion de cycle de vie du client, la vérification de l’identité des personnes, la gestion des contrats, le commissionnement des partenaires, la distribution, etc.
Interfaçage avec des partenaires
Alptis Assurance a du reformater son système d’information monolithique car la société commercialisait des assurances en direct pour les particuliers. Un marché qui représentait 40% du chiffre d’affaires et qui a disparu d’un coup suite au changement de la loi en France.
La société devient assureur pour compte de tiers, des mutuelles, et a du s’ouvrir à ces partenaires pour commercialiser ses produits. La réglementation française obligeait en effet toutes les entreprises à assurer leurs salariés à compter du 1er janvier 2016. Quant aux transfrontaliers avec la Suisse, leur assurance s’achevait également.
Le système d’information d’origine fonctionnait en PL/SQL, une technologie ancienne, avec des bases de données Oracle. Il a fallu passer en Java sur un framework Spring. Trente personnes ont travaillé sur le projet, dont différents prestataires. Le budget aura été supérieur à 2 millions d’euros, même si l’ensemble du budget n’a pas été consommé. L’assureur a travaillé avec le prestataire Zenika, spécialisé sur Docker.
Migration progressive
C’est un projet de transformation du système d’information qui a été mené. « On conçoit un logiciel comme une entreprise, il ne faut pas gérer trop de services, on a découpé des services métiers, » décrit l’architecte. Avec la solution des containers Docker, « on construit un composant, et dès que le morceau de code est prêt, on le livre, » se félicite Gérald Croes.
L’orchestrateur de tous ces services est l’application elle-même. Il n’y a pas d’ESB (Enterprise Service Bus) ni de middleware. « Nous avons voulu éviter l’approche Big Bang, et le cycle en V, » annonce-t-il. « Ce serait mentir de dire que tout de suite, on réalise des économies, » reconnaît-il. Mais de toute façon, si cette adaptation du système d’information n’était pas réalisée, c’est l’assureur Alptis lui-même qui disparaissait. La question du ROI a donc vite été tranchée. Pour autant, le déploiement a été progressif.
La complexité du système ne disparaît pas, elle change de lieu, pointe le responsable. L’architecture du système d’information est tellement complexe, qu’il faut que tout soit automatisé, insiste-t-il. « Nous utilisons une partie des composants logiciels employés par Netflix, ce sont des composants Open Source, » note-t-il en souriant.
Un millier de containers Docker déployés
La solution est déployée sur un cluster de 5 serveurs. « Nous avons 200 containers Docker développés pour chaque environnement. Il y a six environnements pour le développement, la recette, l’environnement pour compte de tiers, » décrit-il.
Autre atout des containers Docker, la possibilité d’adapter le système d’information à la charge. Les logiciels employés sont différents entre le jour et la nuit. Le système d’information est déployé selon les pics de trafic. « Nous allons pouvoir absorber plusieurs millions de nouveaux abonnés grâce aux containers, » se félicite Gérald Croes.
Grâce aux containers, les développeurs sont devenus très autonomes. Cela entraîne une tendance à surconsommer des ressources, avertit le responsable. Résultat, les architectes informatiques doivent être plus vigilants.
Afin d’orchestrer la gestion des containers, Alptis a retenu la solution Marathon Mesos. « Nous avons rencontré les gens de Docker sur Swarm, mais nous avons plus avancé sur Mesos Marathon. Cependant, nous ne sommes pas attachés à une technologie. Nous utilisons également Jenkins pour l’orchestration, et nous réalisons de petites passerelles entre tout cela, » conclut-il.
Tout automatiser et attention aux Bugs
Attention, la technologie Docker est jeune, prévient Gérald Croes, architecte système d’information de l’assureur Alptis. « Les containers, tout le monde en parle, personne n’en fait, » rappelle-t-il. Dès lors, « Nous avons rencontré des bugs excessivement difficiles à résoudre, à part contacter en direct l’éditeur ou aller sur GitHub, » note-t-il.
Il y a très peu de prestataires sur le marché, estime-t-il. Résultat, « il fallait se débrouiller tout seul, » pointe-t-il. Autre point, « ne mettez jamais rien en production sur une architecture de micro services, sans que tout soit automatisé. Pour notre part, nous avons 1000 containers par groupes de 200, ce serait ingérable si cela n’était pas automatisé, il faut tracer les chaînes d’appel, » conclut-il.