
HISTORIAS DE CLIENTES
Sanofi acelera los análisis de datos clínicos reales gracias a Snowpark
Al sustituir su solución gestionada de Spark por Snowflake, Sanofi ha logrado agilizar el procesamiento de los datos y reducir el coste total de la propiedad (TCO) , todo ello garantizando el cumplimiento y la gobernanza de datos.
RESULTADOS CLAVE:
50 %
Mejora del rendimiento en comparación con la solución gestionada de Spark previa
100 M
Registros de pacientes por cohorte, procesados en un promedio de cuatro minutos


Sector
FarmacéuticaUbicación
Bridgewater, NJEn busca de milagros científicos
Sanofi, cuyas sedes principales se encuentran en Bridgewater (Nueva Jersey) y Cambridge (Massachussets), tiene una plantilla de más de 13 000 profesionales en EE. UU. En el país, su actividad gira en torno a cuatro unidades de negocio: especialidades, vacunación, medicina general y productos sin receta. En todo el mundo, más de 100 000 empleados de Sanofi investigan para mejorar la vida de las personas.
Aspectos destacados
Datos clínicos reales para la comunidad médica: Sanofi está creando una aplicación web reactiva basada en Snowflake para que los profesionales médicos puedan analizar datos clínicos reales y valorar los beneficios y los riesgos de los tratamientos.
Transición de Spark a Snowpark: la migración desde la solución gestionada de Spark que usaba Sanofi mejoró el rendimiento en un 50 %. Además, resolvió los retos relativos a cuestiones de administración, configuración y simultaneidad.
Snowflake Professional Services: con Snowflake Professional Services y Snowpark Migration Accelerator, una herramienta de conversión automática de código, se facilitó la conversión del código de PySpark a Snowpark, lo que aceleró la migración.
Adaptación a las necesidades de una aplicación de datos clínicos reales
El objetivo de Sanofi es tener una plataforma de procesamiento de datos para toda la empresa que satisfaga las necesidades analíticas de la comunidad médica, en especial a la hora de descubrir nuevos fármacos. El proyecto se centra en crear una aplicación web intuitiva para que los profesionales médicos puedan filtrar sus consultas por enfermedades, medicamentos o procedimientos, así como identificar cohortes de pacientes que cumplan determinados requisitos para analizar más rápidamente los datos clínicos reales a fin de evaluar los beneficios o riesgos de un tratamiento.
Para generar la información analítica clave que busca un usuario, la aplicación web procesa miles de millones de registros. Como parte de este proceso, la anterior arquitectura de datos de Sanofi empleaba un motor de Spark gestionado que servía de capa de computación. Sin embargo, la solución planteaba varios retos para el equipo de datos, como la implementación y el mantenimiento manuales de Spark, los problemas de escalabilidad de los recursos, los frecuentes fallos del flujo por falta de capacidad de computación, los conflictos de simultaneidad durante los picos de uso y las complejidades asociadas al movimiento de datos entre distintas plataformas.
Para atender mejor las necesidades de sus usuarios, el equipo de datos de Sanofi decidió rediseñar su motor analítico. En palabras de Suku Muramula, responsable de Arquitectura e Ingeniería de Datos: “Ya estábamos usando Snowflake en varias tareas de procesamiento de datos, y Snowpark se presentó como posible solución para abordar nuestras futuras necesidades de procesamiento”.
Un motor analítico rediseñado para Sanofi en Snowflake y Snowpark
Para rediseñar uno de sus motores analíticos, Sanofi se decantó por Snowpark, el conjunto de bibliotecas y tiempos de ejecución para implementar código Python de forma segura. Las ventajas de Snowflake, como la separación de almacenamiento y cómputo, el mantenimiento prácticamente nulo y la escalabilidad adaptable, permitieron a Sanofi gestionar con eficiencia los aumentos en los workloads y en los volúmenes de datos sin que en rendimiento se viera afectado y optimizando los costes.
Desde el inicio de la migración, el equipo dio prioridad a una arquitectura centrada en el servicio. Su objetivo era crear un sistema sólido y eficiente con servicios independientes, de modo que se mejorara el aislamiento de fallos para garantizar que los problemas de un servicio no tuvieran un impacto general en todo el sistema. Este enfoque fue fundamental para agilizar el proceso de migración desde un clúster gestionado de Spark hasta Snowflake, ya que minimizaba las interrupciones en la aplicación web.

Figura 1. Arquitectura actual con el ecosistema de Snowflake y Snowpark.
Tal y como se muestra en la figura 1, en lugar de seguir flujos complejos, la nueva arquitectura optimiza el procesamiento de los datos agrupando la plataforma de datos y cómputo con Snowflake y Snowpark. Como consecuencia, se reduce la latencia y se mejora el rendimiento general, lo que permite agilizar las analíticas y el procesamiento de los datos.
Las funciones de gobernanza de datos de Snowflake, con permisos detallados y control de acceso basado en funciones, proporcionan un sólido control sobre los datos y las bibliotecas. De este modo, se garantizan el cumplimiento y la seguridad de los datos mediante la aplicación de políticas.
Además de acelerar el procesamiento de datos, en nuestro sector es primordial proteger los datos de propiedad intelectual y garantizar la seguridad del algoritmo y una gobernanza eficaz. Al utilizar Snowpark como capa de computación para código Python en la plataforma de Snowflake, ya no tenemos que transferir datos y nuestros administradores mantienen todo el control de los datos y las bibliotecas”.
Suku Muramula
Un 50 % más de rendimiento con Snowpark
Con su arquitectura anterior, Sanofi tenía que lidiar con una serie de dificultades al usar un motor de Spark gestionado como capa de computación. La implementación manual del motor implicaba que había que actualizarlo también manualmente cada vez que se añadían nuevas funciones o se realizaban cambios en los flujos de back-end. Todo esto aumentaba la dependencia de los procesos manuales y la necesidad de coordinarse en todos los procesos, por lo que se tardaba más en ejecutar el flujo completo.
Desarrollar y configurar un clúster de Spark también requería muchos recursos. “Observamos que el clúster no podía ampliarse y que había que configurarlo manualmente para lanzar mayores instancias y ejecutar consultas complejas o exigentes, lo que ocasionaba problemas de rendimiento en el flujo”, destaca Ratan Roy, ingeniero de datos en Sanofi. “Tampoco había en marcha ninguna optimización para automatizar nada, y el procesamiento demandaba grandes cantidades de memoria”.
El equipo de datos sufrió muchos casos de fallos o retrasos en el flujo por falta de recursos de computación. Como el entorno gestionado de Spark era compartido, la disponibilidad de los recursos de computación dependía de la disponibilidad del clúster de Spark y no de la demanda según lo solicitado.
La plataforma web que usa la comunidad médica experimentó problemas de simultaneidad cuando varios usuarios realizaron solicitudes para ejecutar a la vez programas de la aplicación web. Teniendo en cuenta la escala que supone el procesamiento de más de mil millones de registros con el clúster de Spark, el tiempo medio de respuesta de las solicitudes de análisis durante las horas punta fue de 15 minutos.
Si bien la separación del cómputo y el almacenamiento de datos es una característica nativa de la plataforma de Snowflake, la anterior solución gestionada de Spark no contaba con una capa de almacenamiento de datos integrada. El procesamiento de los datos se tenía que realizar por separado y requería más ajustes iniciales, configuraciones y movimientos de datos entre distintas plataformas, lo que alargaba el tiempo de procesamiento.
A la hora de tomar la decisión de migrar a Snowpark y a la plataforma de Snowflake, el equipo de datos de Sanofi hizo un análisis de referencia en el que detectó una mejora del 50 % en el rendimiento en comparación con su clúster gestionado de Spark, así como un menor TCO general. “Podemos procesar datos a gran escala en el entorno de Snowflake, lo que nos permite ganar agilidad y velocidad a la vez que reducimos los costes”, apunta Ratan. “Con Snowflake como almacenamiento de datos central y el cómputo de Snowpark, hemos reducido los costes de movimiento de datos, lo que nos ha permitido agilizar el rendimiento y recortar los gastos de cómputo”.

“El flujo y el algoritmo de toda nuestra ingeniería de datos se codificaron con Python y Snowpark. Todas las consultas de datos se procesan a través de Snowpark en la plataforma de Snowflake”.
Ratan Roy
Alianza con Snowflake Professional Services
Cuando en Sanofi decidieron migrar de Spark a Snowpark, contactaron con el equipo de Snowflake Professional Services como punto de partida clave.
“La verdad es que estamos muy satisfechos con la experiencia que tuvimos con Snowflake Professional Services. El equipo nos ayudó desde el primer momento con la gestión y a la hora de identificar lo que necesitábamos para migrarlo todo correctamente”, resalta Muramula. “Su evaluación del grado de preparación fue excepcional y nos ayudó a ver información esencial sobre el proceso de migración y a asegurarnos de tenerlo todo listo para establecer los recursos e identificar cualquier laguna en el proceso”, detalla Muramula.
Snowpark Migration Accelerator, una herramienta de conversión de código automatizada, convirtió el código de PySpark a Snowpark, lo que permitió agilizar el proceso de migración. “Marcó un antes y un después, y nos ayudó a avanzar más rápidamente manteniendo el código intacto. En general, recomiendo encarecidamente contactar con Snowflake Professional Services en situaciones similares”, comenta Muramula.
Optimización del data sharing y la ciencia de datos
Con la aplicación actual, el equipo de datos de Sanofi puede centrarse en unas cuantas fuentes de datos. Sin embargo, su plan es abarcar más para que la comunidad médica pueda investigar un mayor número de tratamientos y enfermedades.
“De cara al futuro, nuestros procedimientos de recopilación y procesamiento de datos seguirán avanzando, y necesitaremos procesar miles de millones de registros más para mejorar nuestras capacidades analíticas”, añade Muramula. “Creemos que la plataforma de Snowflake seguirá siendo nuestra elección de confianza por su solidez y escalabilidad dinámica, y que nos permitirá adaptarnos a las crecientes necesidades”.
Comienza tu pruebagratuita de 30 días
Prueba Snowflake gratis durante 30 días y experimenta el AI Data Cloud, que acaba con la complejidad, el coste y las restricciones de otras soluciones.