Aller au contenu

Florent Beaurain: Optimizing Rails Tests at Doctolib Scale

7 octobre 2025 · 1 h 18 min

Notes de l’épisode

In this episode of On Rails, Robby is joined by Florent Beaurain, a longtime Rails engineer at Doctolib, home to one of the largest Rails monoliths in Europe with over 3 million lines of code and 400+ engineers. They explore how Doctolib’s team tackled massive test suite performance issues, including cutting one engine’s test time from seven minutes to under one minute. Florent shares insights from managing 84,000 tests, scaling across 10 PostgreSQL databases, and maintaining Rails upgrades across a fast-moving organization using systematic approaches like dual-boot deployments and careful backporting strategies.

Tools & Libraries Mentioned

  • AWS Aurora (PostgreSQL) – Production database platform, scaled to 10+ writers and 15+ readers.
  • Capybara – End-to-end testing of UI flows in the monolith.
  • Capybara Lockstep –JavaScript sync layer reducing flakiness in React-driven feature specs.
  • Datadog – Application performance monitoring for production systems.
  • Docker – Local PostgreSQL and other data stores.
  • FactoryBot – Identified as a major performance bottleneck in large test suites.
  • factory_fixtures – Shopify gem extending fixtures with inline factory-style overrides.
  • GitHub Copilot – Workflow automation and onboarding support.
  • Heroku CI – Previously used for parallelized CI builds before moving to custom infrastructure.
  • Jenkins – Original CI platform before scaling up to more powerful infrastructure.
  • Minitest – Primary test framework, used throughout the monolith with some extensions.
  • Packwerk – Used to modularize their monolith into engines with explicit boundaries and dependency declarations.
  • PostgreSQL – Core relational database behind their production and local environments.
  • React – Primary frontend framework, integrated into the Rails monolith via a single-page app architecture.
  • Ruby on Rails – The framework behind Doctolib’s 3-million-line monolith and most of their core product infrastructure.
  • safe-pg-migrations – Tool to reduce downtime risks during large-scale schema changes.
  • Sentry – Error tracking and visibility tool integrated into their release workflow.
  • Webpack Dev Server – Used locally to support React development alongside the Rails app.

Send us Fan Mail

On Rails is a podcast focused on real-world technical decision-making, exploring how teams are scaling, architecting, and solving complex challenges with Rails.

On Rails is brought to you by The Rails Foundation, and hosted by Robby Russell of Planet Argon, a consultancy that helps teams modernize their Ruby on Rails applications.

Tous les épisodes de On Rails

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.