JustGiving es una de las mayores plataformas sociales online del mundo para la recaudación de fondos para causas benéficas. Los 24 millones de usuarios registrados de la organización con sede en Londres han ayudado a recaudar 3 500 millones de dólares para más de 13 000 causas tan diversas como la investigación del Alzheimer, ayuda para el terremoto de Haití e iniciativas para detener la trata de seres humanos. Fundada en 2001, JustGiving aplica una cuota por transacción del 5 por ciento a las donaciones, cuyos beneficios se reinvierten en el desarrollo y la innovación de su plataforma.

JustGiving crea una nueva plataforma de big data en la nube de AWS (3:35)

thumb_justgiving

El crecimiento de JustGiving se ha visto impulsado por su integración con redes sociales, el soporte para donaciones a través del móvil, las fuentes sociales y el lanzamiento de campañas y productos de crowdfunding, todo lo cual ha permitido a los usuarios de JustGiving potenciar su recaudación de fondos, llegar a más personas y recaudar más dinero para buenas causas. El crecimiento también ha supuesto un reto para los equipos de operaciones y tecnología de la organización, que siguen la misión de la empresa de ofrecer una experiencia atractiva e intuitiva en todas las plataformas y mantener al mismo tiempo los costos y los gastos generales lo más bajos posibles.

"Durante los últimos años hemos notado que las personas comparten cada vez más sus actividades de recaudación de fondos a través de distintas redes y canales", explica Richard Atkinson, responsable de información de JustGiving. "Numerosos fenómenos sociales virales surgen de la nada, y el resultado es que nuestros picos de tráfico cada vez son más acusados. Teníamos un entorno de centro de datos coubicado que dificultaba el escalado debido a los costos adicionales y la complejidad que habrían sido costosos e inviables".

Los aumentos drásticos de los datos también estaban saturando los procesos de análisis interno de la organización, explica el doctor Richard Freeman, arquitecto de soluciones y científico de datos de JustGiving. "Habíamos estado ampliando nuestro equipo de análisis y las capacidades tan rápidamente que nuestro almacén de datos de Microsoft SQL Server no podía procesar el nuevo volumen de datos, la velocidad y la complejidad de las consultas que necesitaban nuestros científicos de datos y analistas", explica Freeman.

Para abordar estos problemas, la empresa decidió trasladar a la nube sus operaciones generales y hospedar una nueva plataforma de análisis de big data llamada RAVEN (Reporting, Analytics, Visualization, Experimental, Networks), que funcionaría junto con el almacén de datos existente. El objetivo era proporcionar a los analistas de datos de JustGiving herramientas para realizar experimentos de secuencias de clics, logs, transacciones y orígenes de datos externos. El equipo de análisis también quería elaborar informes más tradicionales y examinar indicadores de desempeño clave (KPI) sin necesidad de repetir continuamente distintos procesos de extracción, transformación y carga (ETL).

JustGiving eligió a Amazon Web Services por sus entornos de producción y prueba, centrándose especialmente en mejorar las capacidades de análisis. Atkinson comenta que la elección se basó en una cuestión de confianza: "Somos una marca de confianza para 24 millones de usuarios y 13 000 causas que utilizan nuestros servicios para recaudar fondos", explica. "Queríamos encontrar una solución para servicios de nube que pudiéramos incorporar a esa red de confianza. Y AWS era la única empresa que podía ofrecerla".

JustGiving ha rediseñado su software como microservicios que se implementan a través de canalizaciones de entrega continua y automatizada, empleando una serie de servicios de AWS para reducir la necesidad del personal de JustGiving de ofrecer soporte y mantener la infraestructura, así como para aprovechar la escalabilidad y resistencia de la plataforma de AWS. Entre estos servicios se incluyen Amazon Elastic Compute Cloud (Amazon EC2), Auto Scaling, Elastic Load Balancing, Amazon ElastiCache, Amazon Relational Database Service (Amazon RDS) y Amazon Simple Storage Service (Amazon S3).

La organización también utiliza AWS para su plataforma de análisis RAVEN, que depende de varios servicios de AWS como Amazon Redshift, Amazon Elastic MapReduce (Amazon EMR), Amazon Kinesis, AWS Lambda, Amazon DynamoDB, Amazon Simple Queue Service (Amazon SQS) y Amazon Simple Notification Service (Amazon SNS).

"Muchos proveedores proponen una interfaz gráfica para la integración de big data, pero detectamos que en un escenario real resultaba más eficiente cargar y consultar los datos con código SQL real activado según las necesidades de nuestros experimentos científicos de datos o automatizado para paneles e informes de KPI", explica Freeman. "Con AWS, hemos creado una canalización de ETL dependiente de eventos con sistemas que se comunican a través de un sólido proceso de mensajería basado en SQS y SNS hospedado. También consultamos marcos de flujo de trabajo de código abierto existentes, pero requerían máquinas dedicadas que era necesario configurar y mantener. Eran demasiado complejas de personalizar para nuestros casos de uso".

JustGiving-AWS-diagram-overview-091815

Arquitectura de plataforma RAVEN (Reporting, Analytics, Visualization, Experimental, Networks) de JustGiving en AWS.

Freeman alaba la funcionalidad que ofrece la plataforma de AWS. "AWS nos ofreció exactamente lo que necesitábamos para la creación rápida de prototipos, experimentos científicos de datos, cálculos de métricas y ejecución de informes en nuestra plataforma de análisis de big data", explica.

Para el equipo de análisis de JustGiving, Freeman comenta que Amazon Redshift ha demostrado ser un producto eficiente para la exploración de datos y la consulta de grandes conjuntos de datos estructurados, que incluyen miles de millones de puntos de datos en distintos clústeres. "Hemos desarrollado un paquete completo de herramientas para ejecutar trabajos de ETL dependientes de eventos e integrarlos con los API internos y externos", explica. "Las consultas que tardaban 30 minutos en SQL Server ahora se ejecutan en cuestión de segundos. Podemos ejecutar consultas más complejas que antes no eran posibles, y hemos descubierto que las consultas de gráficos más simples, como la relación de caridad y eventos para los usuarios, se pueden ejecutar más rápido que usando una base de datos de gráficos dedicada. Y por primera vez, podemos proporcionar a nuestros usuarios empresariales una vista conjunta de datos transaccionales y no transaccionales, como visitas a páginas, donaciones y canales compartidos. Redshift es más rápido y sencillo de usar, y proporciona herramientas más útiles que las que teníamos antes para ayudar a mantener nuestro entorno de producción".

JustGiving utiliza AWS EMR para ejecutar grandes procesos de análisis y ETL automatizados en terabytes de datos sin tener que administrar la configuración y el mantenimiento de la infraestructura de clústeres. "Antes de Amazon EMR, nuestros científicos de datos estaban limitados por los algoritmos que se pueden ejecutar en una sola máquina, y solo podían trabajar en conjuntos de datos de muestra. Cualquier elemento de mayor tamaño requería días de cálculo", explica Freeman. "Ahora con Amazon EMR ejecutando clústeres de Hadoop o Spark, pueden lanzar con facilidad clústeres con cientos de instancias Amazon EC2 para calcular procesamiento de gráficos escalables, procesamiento de lenguaje natural así como algoritmos de análisis de streaming y aprendizaje automático. Por ejemplo, lo utilizamos para recomendar proyectos de crowdfunding, comprender las redes de usuarios, automatizar el etiquetado de causas benéficas y aumentar la implicación de los usuarios".

El equipo de análisis utiliza Amazon Kinesis, AWS Lambda y Amazon DynamoDB de forma conjunta para realizar tareas que antes eran difíciles de implementar. Por ejemplo, los eventos de secuencias de clics de sitios web se escriben casi en tiempo real en Amazon Kinesis. Una función de AWS Lambda ejecuta código en respuesta a eventos, y los procesa y escribe en Amazon DynamoDB. Además, Lambda se utiliza para pruebas, monitorización de eventos y notificación activa, mientras que DynamoDB se utiliza como un Datastore persistente para eventos de Kinesis y como una herramienta de monitorización de visualización.

Atkinson señala que la nueva plataforma de análisis es parte de una nueva forma de abordar los sistemas de TI que beneficia a JustGiving. "Antes de usar AWS, JustGiving basaba las decisiones en un origen de datos de nivel alto único", explica. "Ahora, con las nuevas herramientas de AWS, podemos extraer datos mucho más detallados de numerosos orígenes basados en millones de donaciones y miles de millones de eventos, y luego utilizar esa información para proporcionar una plataforma mejor a nuestros visitantes".

La escalabilidad y rentabilidad de la plataforma de AWS, en especial el modelo de negocio de pago por uso, también son clave para ayudar a la organización a continuar su trayectoria de crecimiento. "Siempre hemos asignado nuestros costos en ciclos operativos y para la creación de valor", explica Atkinson. "Antes, cuando teníamos mucho dinero inmovilizado en hardware, gastábamos dinero y ese recurso se quedaba ahí, a menudo con tasas de uso bajas. Con AWS, hemos automatizado nuestra canalización y, con nuestra nueva plataforma de análisis, solo gastamos dinero en herramientas y datos que generan información, añaden valor y respaldan decisiones en tiempo real para todos los usuarios que visitan JustGiving".

Para obtener más información acerca de cómo AWS puede ayudarle a procesar y analizar big data, visite nuestra página de detalles de big data: http://aws.amazon.com/big-data/.