finxp logo

Transformation DevOps cloud-native de FinXP

Innowise a aidé FinXP à moderniser son infrastructure de services financiers en migrant ses API et applications héritées basées sur PHP vers une architecture cloud native.

11 applications

transféré des machines virtuelles vers le service d'applications Azure

100% 

L'infrastructure en tant que code

Transformation DevOps cloud-native de FinXP
Industrie Fintech
Salariés 50+
Région Malte
Services Azure Conseil en DevOps, Cloud Modernisation de l'infrastructure
Client depuis 2024

Vue d'ensemble du client

Résumé par l'IA

FinXP est une fintech européenne spécialisée dans les paiements, fondée en 2014. FinXP aide les entreprises à gérer leurs paiements entrants et sortants grâce à des comptes IBAN, à l'émission de cartes bancaires et au prélèvement SEPA. Elle propose également des services de compensation, des solutions de paiement et des passerelles de paiement omnicanales.

FinXP est enregistrée auprès du Conseil européen des paiements pour les paiements SEPA, travaille avec SWIFT et est membre principal de Mastercard. La société est agréée par l'Autorité maltaise des services financiers.

Défi

FinXP devait moderniser l'infrastructure qui soutenait ses services de paiement tout en garantissant la stabilité de ses opérations courantes. Les travaux se sont principalement concentrés sur la réduction des tâches manuelles, l'amélioration de la sécurité et la préparation du système à une croissance « cloud-native ».

  • Les services financiers essentiels reposaient sur une infrastructure difficile à faire évoluer et à entretenir.
  • Les tâches manuelles liées à l'infrastructure rendaient les livraisons moins prévisibles et ralentissaient la mise en œuvre des changements.
  • Le manque de documentation relative au projet a compliqué le transfert de connaissances et la maintenance à long terme.
  • Les tâches faisaient souvent l'objet de discussions orales, ce qui nuisait à la transparence de la planification et de la définition des priorités.
  • La faiblesse de la structure des processus a compliqué la gestion de la dette technique et des futurs travaux de modernisation.
  • Les failles de sécurité ont fait peser un risque supplémentaire sur une entreprise de technologie financière opérant dans un environnement réglementé.
  • L'équipe interne avait besoin d'un accompagnement concernant les nouvelles pratiques DevOps, Kubernetes et les déploiements en conteneurs.
  • Les applications et API PHP héritées ont rendu le système plus difficile à maintenir, à faire évoluer et à migrer.
  • Certains composants de l'infrastructure fonctionnaient sur d'anciens environnements d'hébergement et devaient être migrés vers Azure.
  • Plusieurs ressources cloud étaient obsolètes, inutilisées ou mal documentées.
  • Certains environnements ont été configurés manuellement, ce qui a accru le risque d'incohérences.
  • Les processus de déploiement reposaient sur des interventions manuelles, ce qui rendait les mises en production plus difficiles à reproduire et à contrôler.
  • Certains composants de l'infrastructure utilisaient des adresses IP publiques, ce qui a nécessité une attention particulière en matière d'isolation du réseau, de contrôle d'accès et de renforcement de la sécurité.
  • NATS.io a nécessité une installation, une configuration et une intégration avec des microservices.
  • L'infrastructure Kubernetes devait bénéficier d'une configuration privée plus sécurisée avant d'être déployée à plus grande échelle en production.
  • La surveillance et la journalisation ne couvraient qu'une partie du système, ce qui compliquait le dépannage.
  • Les applications PHP existantes ont rencontré des problèmes d'intégration avec les bases de données Oracle dans le nouvel environnement Azure.
  • Le transfert de messages via FTP et la distribution des e-mails Office 365 ont entraîné des problèmes opérationnels qui ont nécessité une analyse et des corrections.

Migration sécurisée vers le cloud

Solution

Innowise s'est associé au projet afin de soutenir la modernisation de l'infrastructure de FinXP, d'améliorer les pratiques DevOps et d'aider le client à évoluer vers une architecture cloud native plus sécurisée.

Évaluation et planification des infrastructures

Dans un premier temps, notre ingénieur DevOps a passé en revue l'infrastructure existante de FinXP, ses services actifs, les dépendances de ses applications ainsi que les conclusions de l'audit. Cela a permis à l'équipe de passer d'un objectif de modernisation général à un plan concret, définissant clairement les priorités, les risques et les prochaines étapes.

Afin de se concentrer sur les domaines ayant eu le plus grand impact sur la stabilité et les migrations futures, notre spécialiste :

  • Nous avons passé en revue les ressources cloud existantes, les services actifs et les dépendances des applications afin de comprendre comment les systèmes interagissaient et d'identifier les risques potentiels liés à la modernisation.
  • Nous avons analysé les conclusions de l'audit externe et les avons traduites en tâches concrètes liées à l'infrastructure que l'équipe d'ingénieurs pouvait mettre en œuvre étape par étape.
  • Nous avons identifié les ressources obsolètes, inutilisées ou mal documentées, ce qui a permis de déterminer clairement ce qui devait être migré, supprimé ou conservé.
  • A contribué à la planification de l'infrastructure pour les services de paiement et les applications basées sur des API, en mettant l'accent sur la sécurité des accès, l'évolutivité et la simplification de la maintenance.
  • Amélioration de la documentation technique dans SharePoint afin que l'équipe de FinXP puisse suivre les décisions relatives à l'infrastructure, assurer la transmission des connaissances et accompagner les changements futurs en réduisant la dépendance vis-à-vis des ingénieurs individuels.

Configuration de l'infrastructure Azure et Kubernetes

FinXP souhaitait évoluer vers une architecture plus évolutive basée sur le modèle Azure. Le modèle Innowise a permis de mettre en place une infrastructure Kubernetes capable de prendre en charge les microservices, la migration future des API et un contrôle accru des environnements cloud.

Afin de poser des bases solides pour un déploiement « cloud-native », notre équipe :

  • Nous avons déployé un cluster Kubernetes Azure à titre de test afin que le client puisse valider l'architecture cible avant de migrer d'autres services vers Kubernetes.
  • Nous avons accompagné la migration de certains composants d'infrastructure vers Azure, aidant ainsi FinXP à réduire la fragmentation entre les différents environnements d'hébergement.
  • Nous avons mis en place une infrastructure Kubernetes dédiée aux microservices, offrant ainsi au client une base lui permettant de faire évoluer ses services et de gérer ses déploiements de manière plus structurée.
  • J'ai passé en revue les anciennes ressources cloud et contribué à définir les priorités de migration, afin que l'équipe puisse se concentrer sur les systèmes les plus importants en termes de stabilité et de modernisation.
  • Nous avons travaillé sur une configuration Kubernetes privée dotée de contrôles de sécurité renforcés, ce qui a permis de répondre aux exigences du client en matière de fintech et de réduire les risques inutiles.
  • A contribué à réduire la dépendance vis-à-vis des points d'accès publics au sein des différents composants de l'infrastructure, afin de rendre l'environnement futur plus sûr et plus facile à gérer.

Mise en œuvre de NATS.io

FinXP a choisi NATS.io pour assurer la communication entre les microservices. Innowise a contribué à la mise en place de l'infrastructure de messagerie et a collaboré avec les développeurs du client pendant la phase d'intégration.

Afin d'aider l'équipe à mettre en œuvre et à tester une approche plus évolutive de la communication relative aux services, nous avons :

  • Nous avons installé et configuré un cluster NATS.io de test afin de fournir aux développeurs un environnement de travail leur permettant de procéder à une intégration précoce.
  • J'ai mis en place l'infrastructure de soutien pour NATS.io, afin que la couche de messagerie puisse s'intégrer dans l'architecture plus large basée sur Kubernetes.
  • Configuration basée sur Helm préparée pour le déploiement de NATS.io, facilitant ainsi la reproductibilité et la maintenance des configurations futures.
  • J'ai aidé les développeurs à connecter leurs services à la couche de messagerie et j'ai vérifié le comportement de ces services en dehors des environnements locaux.
  • Nous avons testé les microservices dans l'environnement de cluster, ce qui a permis de mettre en évidence des problèmes qui n'étaient pas apparus lors du développement en local.
  • Il a résolu les problèmes d'intégration liés à la migration des services vers Kubernetes, aidant ainsi l'équipe à maintenir le cap des travaux de modernisation sans freiner les développeurs.

Migration d'applications héritées et configuration de l'application Web Azure

FinXP s'appuyait encore sur des applications PHP héritées qui prenaient en charge des processus métier actifs. Ces services devaient rester stables pendant que l'entreprise évoluait vers une architecture moderne ; la migration nécessitait donc une approche minutieuse.

Afin de maintenir les systèmes existants en état de fonctionnement tout en les alignant progressivement sur la nouvelle architecture, notre équipe :

  • L'environnement UAT a été transféré vers l'application Web Azure, offrant ainsi à FinXP une plateforme plus facile à gérer pour les tests d'acceptation.
  • Mettre en place un déploiement automatisé pour l'environnement UAT afin de réduire les étapes manuelles de mise en production et d'améliorer la cohérence des mises à jour.
  • Nous avons configuré les applications PHP existantes dans le nouvel environnement Azure, permettant ainsi au client de maintenir ses anciens services opérationnels pendant la phase de transition.
  • A permis l'intégration entre les applications existantes et les bases de données Oracle, ce qui a contribué à garantir la continuité des activités lors des changements d'infrastructure.
  • Mise en place d'une connexion FTP et résolution des problèmes liés au transfert des messages, ce qui a permis d'éliminer les obstacles qui entravaient l'échange de données.
  • A contribué à l'analyse des problèmes de distribution des e-mails liés à Office 365, garantissant ainsi une communication stable dans le cadre des flux de travail liés aux applications.

Automatisation DevOps avec Terraform, Helm et CI/CD

Les processus de déploiement du client nécessitaient encore des interventions manuelles. Innowise a commencé à mettre en place une automatisation à tous les niveaux de l'infrastructure et de la mise à disposition des applications afin de faciliter la reproductibilité des environnements et le contrôle des versions.

Pour réussir à remplacer les actions manuelles ponctuelles par des pratiques DevOps reproductibles, notre ingénieur :

  • J'ai commencé à développer des scripts Terraform pour les nouvelles API, jetant ainsi les bases de l'« infrastructure as code » (IaC) dans les futurs environnements.
  • Mise en place de pratiques IaC visant à faciliter la vérification, la reproduction et le suivi des modifications de configuration.
  • J'ai créé et adapté des Helm Charts pour les charges de travail Kubernetes, afin que les déploiements puissent suivre une structure plus cohérente.
  • Déploiement planifié d'API dans Kubernetes, reliant l'automatisation de l'infrastructure à la stratégie globale de modernisation des API du client.
  • J'ai contribué à la mise en place de pipelines CI/CD plus aboutis, aidant ainsi l'équipe à réduire sa dépendance vis-à-vis des étapes de déploiement manuelles.
  • Mise en place de pratiques de déploiement reproductibles afin d'aider FinXP à faire évoluer sa capacité de livraison à mesure que de nouveaux services migrent vers Kubernetes.

Amélioration de l'infrastructure axée sur la sécurité

La sécurité est restée une priorité majeure, FinXP évoluant dans le secteur de la fintech. Le projet Innowise a permis de mettre en œuvre des modifications de l'infrastructure visant à renforcer la sécurité des accès, à améliorer l'isolation et à optimiser le contrôle des ressources cloud.

Afin de renforcer la sécurité et le contrôle d'accès au niveau des infrastructures, notre spécialiste :

  • Mise en place d'une infrastructure Kubernetes privée afin de favoriser un modèle plus sécurisé pour l'exploitation des services financiers.
  • A assuré un accès aux systèmes clients via un VPN, aidant ainsi l'équipe à maintenir des points d'accès contrôlés à l'infrastructure.
  • A contribué à améliorer l'isolation du réseau dans les environnements cloud, éliminant ainsi les risques liés à une exposition trop large du système.
  • Une exposition réduite au public des composants de l'infrastructure, ce qui a permis d'aligner l'architecture sur des exigences de sécurité plus strictes.
  • Mise en place de procédures d'accès basées sur des certificats afin d'ajouter un niveau supplémentaire de contrôle sur l'accès à l'infrastructure.
  • Mise à jour et configuration de SonarQube sur l'ensemble des dépôts, élargissant ainsi son utilisation pour passer d'une couverture partielle à un contrôle plus étendu de la qualité et de la sécurité du code.
  • Nous avons intégré Snyk afin de renforcer la détection des vulnérabilités au sein des dépendances du projet et de faciliter la détection précoce des problèmes dans le cycle de développement.
  • J'ai participé aux discussions sur la surveillance de la cybersécurité, le DevSecOps et la sécurité Azure, aidant ainsi FinXP à définir la prochaine étape de sa feuille de route en matière de sécurité.

Surveillance, journalisation et assistance à l'audit

À mesure que de plus en plus de services migraient vers Kubernetes, FinXP avait besoin d'une meilleure visibilité sur le comportement de son infrastructure. Innowise a apporté son soutien à la mise en place d'améliorations en matière d'audit et a aidé le client à mettre en place une stratégie de surveillance et de journalisation plus solide.

Afin de permettre au client d'avoir une vision plus claire de l'état de l'infrastructure et de faciliter les futurs audits de sécurité, nous :

  • Nous avons passé en revue les lacunes en matière de surveillance et de journalisation afin d'identifier les points susceptibles de compliquer le dépannage.
  • Nous avons apporté notre soutien à la mise en place d'améliorations de l'infrastructure liées à l'audit, aidant ainsi le client à traduire les conclusions de l'évaluation en mesures techniques concrètes.
  • Nous avons exploité les outils de surveillance existants pour les services essentiels, afin que l'équipe puisse continuer à suivre le comportement des infrastructures clés pendant la modernisation.
  • Nous avons configuré Log Analytics et le moniteur Azure afin d'offrir à l'équipe une meilleure visibilité sur les ressources cloud, le comportement des applications et les événements liés à l'infrastructure.
  • Mise en place de Grafana géré (Azure) avec des tableaux de bord, offrant ainsi à FinXP un moyen plus pratique de suivre l'état des services et les indicateurs d'infrastructure.
  • Mise en place de workflows d'alerte dans les domaines où les notifications sont limitées ou inexistantes, afin d'aider l'équipe à réagir plus rapidement aux problèmes d'infrastructure.
  • Nous avons contribué au choix de ClickHouse pour la collecte des journaux, offrant ainsi au client une solution permettant un stockage et une analyse plus structurés de ces journaux.
  • Nous avons mis en place l'infrastructure nécessaire pour faciliter le dépannage, notamment dans le cadre de la migration des services depuis des environnements plus anciens vers Kubernetes.
  • A contribué à offrir une vision plus claire de l'infrastructure de l'entreprise grâce à des schémas de réseau, ce qui a facilité la planification, la communication et la maintenance future.

Amélioration des processus et accompagnement des équipes

Innowise a également aidé FinXP à améliorer ses pratiques d'ingénierie au quotidien. Notre ingénieur DevOps a accompagné l'équipe du client en lui fournissant des recommandations, un accompagnement, une assistance au dépannage et une aide pratique tout au long de l'intégration du service.

Afin de transformer le travail technique quotidien en un projet de modernisation plus structuré, notre ingénieur :

  • J'ai participé aux réunions techniques quotidiennes afin de définir les priorités, d'aborder les obstacles et d'assurer la cohérence entre les travaux d'infrastructure et les tâches de développement.
  • J'ai partagé des recommandations relatives à l'infrastructure avec les responsables techniques, en les aidant à opter pour des améliorations concrètes plutôt que pour des solutions à court terme.
  • J'ai encadré l'ingénieur DevOps du client sur les thèmes du DNS, des conteneurs et des tâches de déploiement afin de renforcer les compétences de l'équipe interne en matière de technologies cloud natives.
  • J'ai accompagné les développeurs lors des tests d'API et de l'intégration des services, en les aidant à adapter ces derniers à la nouvelle infrastructure.
  • J'ai participé à la création de collections Postman pour les nouveaux tests d'API, ce qui a permis de mieux organiser les tests et de faciliter leur reproductibilité.
  • J'ai analysé les problèmes de connexion à la base de données lors des tests de l'API et j'ai résolu les obstacles avant qu'ils ne ralentissent le travail d'intégration.
  • Recommandations d'améliorations concernant la documentation, le suivi des tâches et les processus DevOps, offrant ainsi au client un moyen plus transparent de gérer les changements techniques.

Technologies

Sécurité et gestion des accès

VPN, authentification par certificat, adressage IP privé, Darktrace

Développement et modernisation des API

PHP, Go, microservices, Postman

Conteneurisation et orchestration

Docker, Kubernetes, Helm

Cloud et infrastructure

Azure, service Kubernetes Azure, application Web Azure, passerelle VPN Azure, Microsoft Entra ID, machines virtuelles

Messagerie et intégration

NATS.io, FTP, Office 365, bases de données Oracle, API REST

CI/CD et qualité du code

GitHub Actions, SonarQube

Surveillance et journalisation

Grafana, ClickHouse

Automatisation de l'infrastructure

Terraform, Helm charts

Équipe

Data icon 1
Ingénieur DevOps senior
L'équipe Innowise

Résultats

Durée du projet

Juillet 2024 – En cours

Le projet est toujours en cours, mais FinXP dispose d'ores et déjà de bases plus solides pour une infrastructure cloud native, des opérations plus sécurisées et des processus DevOps plus prévisibles.

  • FinXP a défini une feuille de route plus claire pour la modernisation de son infrastructure API centrale, Kubernetes, Azure, NATS.io, Terraform et Helm constituant les fondements de sa croissance future.
  • Le passage des anciens environnements d'hébergement à Azure a permis de réduire la fragmentation de l'infrastructure et de faciliter la gestion de l'installation.
  • Le cluster Kubernetes de test Azure a fourni au client une base concrète pour faire passer ses microservices d'une configuration manuelle ou basée sur des machines virtuelles à un déploiement en conteneurs.
  • La mise en place de NATS.io a permis de jeter les bases d'une communication plus fiable entre les microservices, alors que le client poursuit la modernisation de ses API.
  • La migration de l'UAT vers l'application Web Azure a permis de rendre l'environnement de test plus stable et de le préparer au déploiement automatisé.
  • L'intégration d'applications PHP existantes aux bases de données Oracle a permis au client de maintenir en service les services essentiels à son activité pendant la modernisation.
  • Le passage à une infrastructure Kubernetes privée et à un accès via VPN a permis de réduire les risques de sécurité liés à l'exposition des infrastructures publiques.
  • La mise en œuvre de Terraform et de Helm a permis au client de passer d'une gestion manuelle des modifications d'infrastructure à des déploiements reproductibles et gérés par contrôle de version.
  • Les améliorations apportées aux infrastructures de surveillance, de journalisation et d'audit ont permis au client de mieux cerner le comportement du système et ses besoins futurs en matière de sécurité.
  • La documentation et les recommandations relatives aux processus ont facilité le suivi, le partage et la mise à jour des travaux techniques au sein de l'équipe du client.
  • Le mentorat dispensé à l'ingénieur DevOps du client a permis à l'équipe interne de gérer les tâches liées au DNS, aux conteneurs et au déploiement avec davantage d'assurance.
  • La résolution quotidienne des problèmes liés au FTP, à Office 365, aux certificats et au fonctionnement des clusters a permis d'éliminer les obstacles opérationnels et de faire avancer le projet de modernisation.
  • Les contrôles de sécurité ont gagné en ampleur et en systématisation grâce à la configuration de SonarQube sur l'ensemble des dépôts et à l'analyse des dépendances via Snyk.
  • La visibilité sur l'infrastructure a été améliorée grâce à Log Analytics, à Azure Monitor et aux tableaux de bord Grafana gérés par Azure.
  • La gestion des incidents s'est structurée davantage grâce à la mise en place de workflows d'alerte dans des domaines où les notifications étaient auparavant limitées.

Table des matières

Migration sécurisée vers le cloud

    Contactez-nous

    Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    Envoyez-nous un message vocal
    Joindre des documents
    Charger fichier

    Vous pouvez joindre un fichier d'une taille maximale de 2 Mo. Formats de fichiers valables : pdf, jpg, jpeg, png.

    En cliquant sur « Envoyer », vous consentez au traitement de vos données personnelles par Innowise conformément à notre Politique de confidentialité afin de vous fournir des informations pertinentes. En soumettant votre numéro de téléphone, vous acceptez que nous puissions vous contacter par appels vocaux, SMS et applications de messagerie. Des frais d'appel, de message et de transfert de données peuvent s'appliquer.

    Vous pouvez également nous envoyer votre
    demande à contact@innowise.com
    Que se passe-t-il ensuite?
    1

    Une fois que nous aurons reçu et traité votre demande, nous vous contacterons pour détailler les besoins de votre projet et signer un accord de confidentialité.

    2

    Après avoir examiné vos souhaits, vos besoins et vos attentes, notre équipe élaborera une proposition de projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés.

    3

    Nous prendrons rendez-vous avec vous pour discuter de l'offre et régler les détails.

    4

    Enfin, nous signons un contrat et commençons immédiatement à travailler sur votre projet.

    arrow