En la página principal del sitio web conocido como Woot.com, los cambios constantes son el día a día. Woot es un reconocido sitio de ofertas diarias que se fundó en 2004 y que Amazon adquirió en 2010. En Woot se pueden encontrar cada día nuevas ofertas especiales en electrónica, ropa y artículos para el aire libre, equipos deportivos, artículos para el hogar y otros productos: a veces, estas ofertas se renuevan cada 30 minutos.
En 2018, la empresa decidió que había llegado el momento de cambiar el backend del sitio. Sobre todo, Woot pretendía dejar de usar el almacén de datos heredado, que estaba basado en Amazon Relational Database Service (RDS) for Oracle Database y pasar a usar una solución de almacenamiento de datos nativa en la nube en Amazon Web Services (AWS).
Este almacén heredado planteaba a la empresa una serie de retos, entre ellos la necesidad de definir nuevas canalizaciones personalizadas cada vez que se agregaban orígenes de datos; este engorroso proceso de consulta podía llevar incluso semanas, e implicaba que nunca se intentase llevar a cabo algunas consultas potencialmente valiosas, además de hacer necesario restringir de forma estricta el acceso de los usuarios al almacén de datos, ya que este estaba alojado en la cuenta de producción de AWS de la empresa.
En la actualidad, Woot utiliza un almacén de datos sin servidor basado en Amazon Kinesis Data Firehose y Amazon Simple Storage Service (Amazon S3) para incorporar y almacenar datos. Utiliza AWS Lambda para organizar AWS Glue y, con este servicio, consigue programar trabajos de ETL y tareas de administración de metadatos. Amazon Athena y Amazon QuickSight ofrecen funcionalidades de consulta y visualización de datos potentes y fáciles de usar, incluso para aquellos usuarios que no poseen conocimientos de SQL. Todos estos servicios se encuentran alojados en una cuenta de almacenamiento de datos separada y completamente aislada de la cuenta de producción de la empresa.
Dada la variedad de opciones que ofrece AWS para procesar, administrar y conseguir información a partir de los datos, ¿cómo decidió exactamente Woot cuál era la solución que le convenía más? En pocas palabras: escuchó a los clientes. En este caso, a las diferentes categorías de empleados que se sirven del almacén de datos para ofrecer las mejores experiencias a los clientes de Woot.
“Quería que este proyecto supusiera un cambio para mejor dentro de Woot”, afirma Chaya Carey, ingeniera de datos en Woot y única responsable de administrar el almacén de datos de la empresa. “Con la fecha límite tan ajustada que teníamos, era tentador conformarse con escribir una lista de requisitos, ejecutar el proyecto y preocuparnos de ponernos al día con la parte técnica en otro momento. Sin embargo, pasamos mucho tiempo hablando sobre quiénes usaban el almacén de datos, cuáles eran sus problemas más habituales y para qué necesitaban usar los datos”.
Mientras debatían estos aspectos, Carey definió una serie de objetivos para el nuevo almacén de datos, entre los que se encontraba el de cambiar a un modelo de responsabilidad compartida de los datos. De esta manera, se eliminaría la necesidad de que ella tuviera que crear o modificar canalizaciones personalizadas para cada nuevo servicio o cada cambio de servicio. “Quería que los servicios enviaran datos al almacén y que estos se aceptasen casi sin necesidad de intervenir”, explica. “Sin embargo, necesitaba encontrar una manera fácil de enviar datos que se ajustara a la forma de trabajar que tenían nuestros desarrolladores”.
Carey encontró una solución lista para usar y pidió a los desarrolladores que utilizasen los kits de desarrollo de software (SDK) de AWS para los distintos lenguajes de programación y plataformas que se utilizan en Woot con el objetivo de enviar datos a la secuencia de entrega de Kinesis Data Firehose del almacén.
“En lugar de crear un trabajo por lotes para enviar datos desde un servicio, todo lo que los desarrolladores tienen que hacer con el sistema nuevo es agregar una llamada a la API que envía los datos al punto de enlace de Firehose”, dice Carey. “Con Kinesis Data Firehose ha sido mucho más fácil convencer a los desarrolladores para que empiecen a usar el modelo de responsabilidad compartida. Este fue un gran logro de la migración, porque eliminamos el tiempo de retraso que nos solía provocar la tarea de agregar nuevos servicios o al adaptarnos a los cambios en los existentes”.
Al elegir Amazon Athena y QuickSight para hacer consultas y visualizar datos, Woot ha hecho más fácil la vida de muchos empleados, incluyendo a contables, analistas financieros, analistas de inventario, gerentes de proveedores y representantes de servicio al cliente; todos ellos necesitan obtener información del almacén de datos de Woot para hacer su trabajo, pero no cuentan con los conocimientos necesarios en materia de ciencia de datos o de inteligencia empresarial.
“Con la solución anterior, para realizar consultas había que abrir un ticket, obtener la aprobación del responsable, recibir una contraseña que solo era válida durante 90 días y, además, hacía falta saber SQL para escribir una consulta”, dice Carey. “Ahora, con Amazon QuickSight, cualquiera puede crear gráficos y otras visualizaciones con tan solo arrastrar y soltar datos, sin necesidad de tener conocimientos de SQL. Para los empleados que quieren un mayor nivel de personalización, existe la opción de consultar a través de la consola de Athena, pero aquí tampoco no se necesita tener conocimientos de SQL”.
Ahora, el proceso de consulta no solo es más simple, sino que las consultas en sí también tardan mucho menos tiempo en completarse. “Todos los usuarios con los que hemos hablado nos han dicho que las consultas en Amazon Athena son mucho más rápidas", dice Carey. “También nos han dicho que, antes, las consultas eran demasiado complejas, y ahora en Athena las están ejecutando sin problemas, lo que quiere decir que pueden responder incluso más preguntas de las que podían responder antes”.
Como las herramientas de AWS en la nueva solución son tan fáciles de usar, cada vez hay más empleados que están usando el autoservicio a la hora de responder a las preguntas. “La gente está maravillada con las visualizaciones que puede crear en QuickSight; por eso, buscan cada vez más formas de usar el servicio”, dice Carey. “Solo tenemos cuatro empleados de BI, y siempre solían tener más solicitudes de las que podían manejar. Ahora, los empleados sin conocimientos técnicos pueden usar Amazon QuickSight para obtener información por sí solos, por lo que los recursos de BI de Woot tienen más tiempo para proyectos estratégicos”.
Carey dice que la migración no solo se ha encargado de afrontar los problemas que planteaba la solución anterior, sino que también ha colocado a Woot en una posición que le permite comenzar a experimentar con muchas otras herramientas y servicios disponibles en AWS (y, además, ahorrando). “Al cambiar a la solución de almacenamiento de datos de AWS sin servidor, hemos conseguido reducir el coste de funcionamiento de nuestro almacén de datos en casi un 90 %”, declara Carey, quien se muestra satisfecha al informarnos que, gracias a la arquitectura sin servidor de la nueva solución, por fin pudo tomarse unas vacaciones de tres semanas sin recibir ni una llamada.
Carey añade: “El hecho de que el almacén de datos ahora tenga su propia cuenta y almacene todo en Amazon S3 me permite a mí y a los ingenieros de BI empezar a usar y explorar sin problemas otras tecnologías, como Amazon Elastic MapReduce, Amazon SageMaker y Amazon Redshift Spectrum. Nos encanta pensar en todo lo que podemos hacer a partir de este momento”.
Para obtener más información, visite thinkwithwp.com/what-is-data-warehouse/.