Con sede en San Mateo, California, Rakuten Rewards es una empresa de recompensas por compras que gana dinero a través de enlaces de marketing de afiliación en la web. A cambio, los miembros ganan puntos de recompensa cada vez que hacen una compra a través de un minorista asociado y obtienen recompensas en efectivo.
Naturalmente, esto impulsa muchos datos de conocimiento del usuario – cientos de terabytes en recuperación activa con más en almacenamiento en frío, para ser exactos.
En 2018, la empresa comenzó a tomar en serio la idea de dar a más usuarios el acceso a esta información – sin tener que recurrir a los códigos de Python o Scala – y al mismo tiempo reducir sus gastos de capital en hardware, y comenzó a mirar hacia la nube.
«Las máquinas del servidor SQL no escalan elegantemente
Anteriormente conocido como Ebates, el negocio fue adquirido en 2014 por el gigante japonés de comercio electrónico Rakuten, y desde entonces ha crecido rápidamente, forzando un impulso para modernizar su pila tecnológica y convertirse en más impulsado por los datos en la forma en que atrae y retiene a los clientes.
Esto comienza con la arquitectura. En los últimos tres años, Rakuten Rewards ha trasladado su gran almacén de datos de SQL en gran parte on-prem a Hadoop on-prem a, hoy en día, un almacén de datos en nube cortesía de Snowflake.
«Las máquinas de servidor SQL no se escalan de forma elegante, así que fuimos a las instalaciones de Hadoop con Cloudera, usando Spark y Python para ejecutar ETL, y obtuvimos algo de rendimiento de eso», el vicepresidente de análisis de Rakuten Rewards, Mark Stange-Tregear, dijo a InfoWorld.
«Manejar eso [Hadoop] La estructura no es trivial y algo complicada, así que cuando vimos que los almacenes de nubes se acercaban decidimos mudarnos y tener este almacén de datos centralizado a nivel de empresa y lago», dijo.
Como el ex desarrollador de Bloomberg y gran consultor de datos Mark Litwintschik argumenta en su blog «¿Está muerto Hadoop?», el mundo se ha movido de Hadoop después de los días de gracia de principios de 2010.
Ahora, los marcos de la nube que quitan gran parte del trabajo pesado a los equipos de ingeniería de datos están demostrando ser más populares entre las empresas que buscan reducir el costo de tener máquinas de alta velocidad inactivas y racionalizar sus operaciones de análisis en general.
Pasando de Hadoop
Así pues, a mediados de 2018, Stange-Tregear y el ingeniero principal de datos Joji John decidieron iniciar una importante migración de datos de sus sistemas centrales al almacén de datos de las nubes Snowflake, situado en la parte superior de la infraestructura de nubes públicas de Amazon Web Services (AWS).
Esa migración comenzó con la capa de información y algunos de los conjuntos de datos más utilizados en toda la empresa, antes de trasladar las cargas de trabajo de ETL y de generación de datos reales, todo lo cual se completó hacia finales de 2019, salvo algunos datos más delicados de RR.HH. y tarjetas de crédito.
Aprovechando la computación en nube, Rakuten es más capaz de escalar hacia arriba y hacia abajo para los momentos de mayor consumo. Snowflake también permite a la empresa dividir su lago de datos en una serie de almacenes de diferentes formas y tamaños para satisfacer las necesidades de los distintos equipos, incluso hilando nuevos para proyectos puntuales según se requiera, sin que los equipos compitan por la memoria o la capacidad de la CPU en un solo clúster.
Anteriormente, «una gran consulta SQL de un usuario podría bloquear o hacer caer otras consultas de otros usuarios, o interrumpir partes de nuestro procesamiento ETL», explicó Stange-Tregear. «Las consultas tardaban cada vez más tiempo en ejecutarse a medida que la empresa crecía y nuestros volúmenes de datos se disparaban.
«Terminamos teniendo que tratar de replicar los datos en diferentes máquinas sólo para evitar estos problemas, y luego introdujimos una serie de otros problemas ya que teníamos que manejar el alcance de la replicación y la sincronización de datos a gran escala».
Cómo Rakuten recompensa a sus analistas
Ahora Rakuten puede reprocesar más fácilmente segmentos de clientes, hasta el historial de compras de un solo usuario, todos los días. Puede entonces remodelar sus áreas de interés para un marketing más efectivo o un modelo de recomendaciones. Esto ayuda a golpear a un cliente con una oferta dirigida en el momento en que realmente está considerando comprar ese nuevo par de zapatos, en lugar de darle tiempo para pensar en ello.
«Para decenas de millones de cuentas, podemos hacer eso varias veces al día», explicó Stange-Tregear. «Luego empaquetar eso para cada usuario a un modelo JSON, para que el perfil de cada miembro se recalcule para todos los usuarios varias veces al día», para ser consultado con sólo unas pocas líneas de SQL.
Esto democratiza enormemente la analítica, desde las percepciones granulares de los científicos de datos con habilidades en Python o Spark hasta cualquier analista familiarizado con SQL.
«Es más fácil encontrar gente que codifique en SQL que en Scala, Python y Spark», admite Stange-Tregear. «Ahora mi equipo de analistas – algunos con habilidades en Python y menos con Scala – pueden crear tuberías de datos para reportes, análisis, e incluso ingeniería de características más fácilmente ya que viene en un lindo paquete de SQL».
Otros grandes trabajos de datos, como el procesamiento de las ejecuciones de pago, ahora también toman mucho menos tiempo gracias al aumento de rendimiento de la nube.
«Procesar cientos de millones de dólares en pagos requiere mucho trabajo», dijo Stange-Tregear. «Esas ejecuciones solían ser un esfuerzo trimestral material que tomaba semanas, ahora podemos volver a hacer el proceso y recalibrar en un par de días.»
La vida después de Hadoop
Todo este esfuerzo viene con algunas eficiencias de costo, también. Stange-Tregear, Joji John, y el director financiero ahora todos reciben informes diarios de Tableau que detallan el gasto diario de procesamiento de datos, dividido por función empresarial.
«Podemos ver el costo efectivo de cada uno [function] y hacer que sea consistente a lo largo del tiempo», explicó Stange-Tregear. «Podemos entrar fácilmente y ver dónde estamos gastando y dónde pasar el tiempo optimizando, y las nuevas cargas de trabajo nos muestran el coste inmediatamente. Eso fue difícil con Hadoop».
Como muchas empresas anteriores, Rakuten Rewards sacó el mayor valor posible de su inversión en el Hadoop, pero cuando surgió una forma más fácil de mantener esa plataforma, permitiendo al mismo tiempo que una gama mucho más amplia de usuarios se beneficiara, las recompensas superaron con creces los costos.