Notre mission pour accompagner Meetic dans la migration de sa stack vers une nouvelle base de données

Comment réussir la migration d'une base de données ?

Interventions :

  • Site de rencontres
  • Développement web PHP
  • PHP7, Symfony, PostgreSQL, Mysql,
    Oracle, Cassandra, Kafka, Scala,
    Docker, Kubernetes, Gitlab, Jenkins,
    PHPUnit, Behat, Kibana
  • Renfort d'Équipe
    Développement web

Le contexte de la mission d’accompagnement à la migration des microservices du client dans une nouvelle base de données

Meetic est une entreprise française, principalement célèbre pour son site de rencontres, fondé en novembre 2001. Elle est rachetée en 2011 par le groupe américain Match Group qui possède le plus grand portefeuille de services de rencontres en ligne avec notamment Tinder ou Match.com.

Historiquement, Meetic possède de nombreuses bases de données dont Oracle devenue obsolète et coûteuse pour l’entreprise. Fort de constater qu’il y avait des solutions plus pertinentes et performantes sur le marché, ils ont décidé de refaire les projets utilisant Oracle afin de migrer ceux-ci dans une nouvelle base de données PostgreSQL.

Dans ce contexte et au vu de la forte charge de travail que cela représentait, ils ont fait appel à notre Développeur Senior PHP pour les accompagner dans ce projet.

Notre expert a ainsi rejoint l’équipe en charge des microservices, la team CAIPI, composée de 10 Développeurs Back Seniors et 1 Manager qui fonctionne en méthodologie agile Scrum.

  • Qu’est-ce qu’une base de données PostgreSQL ?

    PostgreSQL est un système de base de données open source, très stable, qui prend en charge différentes fonctions de SQL, comme les clés étrangères, les sous-requêtes, les déclencheurs, ainsi que différents types et fonctions définis par l’utilisateur. Il augmente encore le langage SQL en proposant plusieurs fonctionnalités qui permettent de mettre à l’échelle et de réserver méticuleusement les charges de travail de données. Il est principalement utilisé pour stocker les données de nombreuses applications mobiles, web, géospatiales et analytiques.

Envie d’aller plus loin dans l’architecture de vos applications ?

Téléchargez notre guide sur les étapes à suivre dans la création d’une architecture hexagonale

Téléchargez notre guide

Les missions réalisées dans le cadre du projet de bascule de la base de données Oracle vers PostgreSQL

L’enjeu principal du projet a été de migrer la base de données Oracle vers la nouvelle base
de données PostgreSQL.
Oracle étant une solution ancienne, peu évolutive et financièrement coûteuse
et Meetic ayant constaté une perte de connaissance sur celle-ci en interne, le changement de base de données
vers une base Open Source s’est avéré nécessaire. Au fil du temps le projet a évolué, plusieurs développeurs
Eleven Labs ont rejoint la “Team Caipi” afin d’accompagner la migration et de la mise à jour du parc applicatif.

  • 01

    Créer les nouveaux schémas de base de données

  • 02

    Récupérer l’existant pour basculer vers la nouvelle base de données

  • 03

    Maintenir et mettre à jour tous les microservices : montée en version de PHP, Symfony, refacto en architecture hexagonale...

  • 04

    Migrer depuis la base de données Oracle vers PostgreSQL (ou cassandra en fonction des use case) un ensemble de microservices

  • 05

    Migration de version Symfony de 3.4 to 4.4 ainsi que la version PHP 5 to 7 quand nécessaire

  • 06

    Nettoyage et refactorisation de code legacy en utilisant l’architecture hexagonale

  • 07

    Adaptation des configurations des applications Symfony pour préparer l’environnement Kubernetes

  • 08

    Création de règles Rector pour automatiser des modifications de code sur l’ensemble des micro-services

  • 09

    Ecriture de tests PHPUnit et Behat

Question à Noël : Quel a été le challenge le plus important de ce projet de migration ?

“ Le plus gros challenge de ce projet était que je ne savais pas toujours exactement en quoi consistait les microservices/consumers et quels étaient leurs objectifs. J’ai dû faire preuve d’agilité, de curiosité, d’auto formation et j’ai surtout communiquer très régulièrement avec les utilisateurs pour mieux comprendre le produit et son but. J’ai ainsi pu refaire tout le schéma de base de données et réaliser la migration sans rien casser ! J’ai ainsi pris conscience que même si parfois on a pas toute la connaissance, avec de la proactivité et de l’agilité, rien n’est impossible ! ”

Les résultats de notre intervention sur la migration de la base de données de notre client

  • Gain financier

    pour l’entreprise

  • Libération des équipes DBA

    d’une charge et plus de performance pour les équipes de développeurs back-end

  • Code plus clean

    et projets plus pérennes dans le temps

Envie d’en savoir plus sur ce projet de migration de BDD ?

Organisons un échange !

Demander un rendez-vous

Découvrez d’autres retours d’expérience autour du Développement Web