O JustGiving é uma das maiores plataformas sociais on-line do mundo voltada para a arrecadação de fundos para instituições beneficentes. Os 24 milhões de usuários registrados da organização, cuja base é em Londres, já ajudaram a arrecadar 3,5 USD bilhões para mais de 13 mil causas diversas, como pesquisas sobre a doença de Alzheimer, ajuda humanitária após o terremoto no Haiti, além de iniciativas para acabar com o tráfico de seres humanos. Lançado em 2001, o JustGiving cobra uma taxa de 5% por transação sobre as doações. Os lucros obtidos dessas doações são reinvestidos no desenvolvimento e na inovação de sua plataforma.

O JustGiving cria uma nova plataforma de big data na Nuvem AWS (3:35)

thumb_justgiving

O crescimento do JustGiving tem sido impulsionado graças à integração com redes sociais, à compatibilidade com doações feitas usando dispositivos móveis, a feeds de redes sociais e ao lançamento de campanhas e produtos de crowdfunding. Tudo isso permitiu que os usuários do JustGiving amplificassem sua arrecadação de fundos, acessassem mais pessoas e arrecadassem mais dinheiro para causas beneficentes. O crescimento também desafiou a tecnologia e as equipes operacionais da organização, que seguem a missão da empresa de proporcionar uma experiência engajadora e de fácil utilização em todas as plataformas, além de manter os níveis de custos e sobrecarga os mais baixos possíveis.

"O que vimos nos últimos anos foi o aumento de pessoas compartilhando suas atividades filantrópicas por meio de várias redes e canais", comenta Richard Atkinson, Diretor de TI do JustGiving. "Existem vários fenômenos virais nas redes sociais que surgem do nada e o resultado disso é que os picos de tráfego estão cada vez maiores. Tínhamos um ambiente de datacenter co-located que dificultava a escalabilidade, devido a custos adicionais e complexidade, que era dispendioso e nada prático."

"O aumento drástico dos dados também afetou muito os processos de análise internos da organização", comenta Richard Freeman, Ph.D., arquiteto de soluções e cientista de dados do JustGiving. "Estávamos expandindo a equipe e os recursos de análise tão rapidamente que o data warehouse do Microsoft SQL Server não tinha mais condições de processar a velocidade, a complexidade de consulta e o volume de dados novos exigidos pelos nossos cientistas e analistas", diz Freeman.

Para resolver estes problemas, a empresa decidiu migrar para a nuvem por conta de suas operações gerais e para hospedar uma nova plataforma de análise de big data chamada RAVEN (Geração de relatórios, análise, visualização, testes e redes), que funcionaria em conjunto com o data warehouse atual. O objetivo era disponibilizar aos analistas de dados do JustGiving as ferramentas para executar testes de clickstream, registro em logs, transações e fontes externas de dados. A equipe de análise também desejava executar uma geração de relatórios mais tradicional e examinar indicadores chave de desempenho (KPIs) sem a necessidade de repetir continuamente processos diferentes de extração, transformação e carregamento (ETL).

O JustGiving escolheu a Amazon Web Services para os seus ambientes de teste e produção, com um foco específico nas melhorias dos recursos de análise. Atkinson disse que a escolha foi feita com base na confiança: "Somos uma marca confiável para 24 milhões de usuários e 13 mil causas que estão usando nossa plataforma para arrecadar fundos", comenta. "Desejávamos encontrar uma solução de serviços de nuvem que pudéssemos adicionar a esta rede de confiança. A AWS era realmente nossa única opção."

O JustGiving reformulou seu software como microsserviços implantados por meio de pipelines de entrega contínua, usando vários Serviços da AWS para reduzir a necessidade de a equipe do JustGiving apoiar e manter a infraestrutura, bem como para utilizar a escalabilidade e a resiliência da plataforma da AWS. Os serviços incluem: Amazon Elastic Compute Cloud (Amazon EC2), Auto Scaling, Elastic Load Balancing, Amazon ElastiCache, Amazon Relational Database Service (Amazon RDS) e Amazon Simple Storage Service (Amazon S3).

A organização também usa a AWS para sua plataforma de análise RAVEN e conta com vários Serviços da AWS, como Amazon Redshift, Amazon Elastic MapReduce (Amazon EMR), Amazon Kinesis, AWS Lambda, Amazon DynamoDB, Amazon Simple Queue Service (Amazon SQS) e Amazon Simple Notification Service (Amazon SNS).

"Muitos fornecedores propõem uma interface gráfica para a integração com big data, mas descobrimos que, em termos práticos, era mais eficiente carregar e consultar os dados com código SQL real acionado especificamente para os nossos testes de ciência de dados ou automatizado para painéis e relatórios de KPI", comenta Freeman. "Usando a AWS, criamos um pipeline de ETL controlado por eventos com sistemas que se comunicam por meio de um SNS hospedado sólido e um processo de sistema de mensagens baseado em SQS. Também analisamos estruturas atuais de fluxo de trabalho de código aberto, mas elas exigem máquinas dedicadas que precisam ser configuradas e apoiadas. Elas eram complexas demais para personalizar para os nossos casos de uso."

JustGiving-AWS-diagram-overview-091815

Arquitetura da plataforma RAVEN (Geração de relatórios, análise, visualização, testes e redes) do JustGiving na AWS.

Freeman elogia a funcionalidade permitida pela plataforma da AWS. "A AWS ofereceu exatamente o que precisávamos para a criação rápida de protótipos, testes de ciência de dados, cálculos de métricas e execução de relatórios sobre nossa plataforma de análise de big data", comenta.

Para a equipe de análise do JustGiving, Freeman diz que o Amazon Redshift provou ser um produto eficiente para a exploração de dados e a consulta de grandes conjuntos de dados estruturados, que incluem bilhões de pontos de dados em clusters diferentes. "Criamos um conjunto completo de ferramentas para a execução de trabalhos de ETL controlados por eventos e a integração com APIs internas e externas", comenta. "Consultas que antes levavam 30 minutos no SQL, agora são executadas em segundos. É possível executar consultas mais complexas que não podiam ser executadas antes e ainda descobrimos que consultas de tipo gráfico mais simples, como o relacionamento entre filantropia e eventos para usuários, podem ser executadas mais rapidamente do que usando um banco de dados gráfico dedicado. E, pela primeira vez, foi possível disponibilizar aos usuários do site uma visualização combinada dos dados transacionais e não transacionais, como acessos à página, doações e funis de compartilhamento. O Redshift é mais rápido e fácil de usar, além de disponibilizar mais ferramentas importantes do que tínhamos antes para apoiar nosso ambiente de produção."

O JustGiving usa o AWS EMR para executar grandes processos automáticos de ETL e análise em terabytes de dados sem a necessidade de gerenciar a configuração e a manutenção da infraestrutura do cluster. "Antes do Amazon EMR, nossos cientistas de dados estavam limitados a algoritmos que podem ser executados em uma única máquina e só tinham condições de trabalhar em conjuntos de dados de amostra. Qualquer coisa maior do que isso exigiria dias de computação", diz Freeman. "Agora, com o Amazon EMR executando clusters Hadoop ou Spark, eles podem facilmente executar clusters com centenas de instâncias do Amazon EC2 para calcular o processamento gráfico escalável, o processamento de linguagem natural e os algoritmos de aprendizado de máquina e análise de streaming. Por exemplo, nós usamos isso na recomendação de projetos de crowdfunding, no entendimento das rede de usuários, na automação de aplicação de tags beneficentes e no aumento do engajamento de usuários."

A equipe de análise usa o Amazon Kinesis, o AWS Lambda e o Amazon DynamoDB em paralelo para executar tarefas cuja a implantação era complexa no passado. Por exemplo, eventos de clickstream de site são escritos praticamente em tempo real no Amazon Kinesis. Uma função do AWS Lambda executa códigos em resposta a eventos, os processando e escrevendo no Amazon DynamoDB. Além disso, o Lambda é usado para testes, monitoramento de eventos e notificações ativas. Já o DynamoDB é usado como um armazenamento de dados persistentes para eventos do Kinesis, bem como uma ferramenta de monitoramento de visualização.

Atkinson observa que a nova plataforma de análise faz parte de uma maneira inédita de abordar a TI que está beneficiando o JustGiving. "Antes de usar a AWS, o JustGiving estava baseando decisões em uma única fonte de dados de alto nível", comenta. "Agora, usando as novas ferramentas da AWS, é possível extrair muito mais dados granulares de várias fontes com base em milhões de doações e bilhões de eventos para depois usar estas informações e disponibilizar uma plataforma melhor aos nossos visitantes."

A escalabilidade e a economia geradas pela plataforma da AWS, especialmente seu modelo de pagamento conforme o uso, também são fundamentais ao ajudar a organização a continuar na sua trajetória de crescimento. "Sempre mapeamos nossos custos para ciclos operacionais e para a criação de valor", diz Atkinson. "Antes, quando grande parte do nosso orçamento estava voltado para o hardware, nós gastávamos dinheiro e aquele ativo ficava lá parado, geralmente, com uma taxa de uso bem baixa. Com a AWS, automatizamos nosso pipeline e, com a nova plataforma de análise, estamos gastando dinheiro apenas em ferramentas e dados que produzam informações, agreguem valor e apoiem decisões em tempo real para todos os usuários acessando o JustGiving."

Para saber mais sobre como a AWS pode ajudá-lo a processar e analisar big data, acesse nossa página de detalhes sobre big data: http://aws.amazon.com/big-data/.