Como criar uma solução de streaming analytics na AWS

Imagine o seguinte cenário: um sistema de grande escala projetado para fornecer uma visualização em tempo real de status de clientes que pode ser aplicado a qualquer setor. Um trabalho que envolve um provedor de serviços de rede para coletar chamadas e outros dados em tempo real a fim de conduzir ações de “engajamento com o cliente” em tempo real. As ações podem ser emails, texto, chamadas recebidas ou notificações push para um aplicativo web.

O objetivo é fornecer uma visualização em tempo real de cada cliente, para garantir que o envolvimento seja contextualmente relevante e entregue em tempo real. O resultado deve ser o aumento da receita por cliente e redução da taxa de abandono (churn rate).

Parece uma solução interessante? Agora, como fazer para implementá-la? 

Modelo de engajamento em tempo real

Os sistemas de engajamento de clientes em tempo real coletam e filtram fontes de dados, reconhecem e combinam eventos para identificar cenários e tomar ações em tempo real.

Nesse caso, os clientes e seus dispositivos podem ser vistos como “atores”. Os atores geram eventos, como reinicializações, chamadas, sessões na web, pagamentos de faturas e renovações de contratos. Combinações de eventos, muitas vezes em cruzamento com informações de perfil do cliente, são usadas para definir um “cenário”. O sistema de engajamento de cliente reconhece quando os eventos atendem ao cenário e aciona a ação correspondente em tempo real. O modelo é ilustrado abaixo:

evam-customer-engagement-model

EVAM, Apache Spark e AWS

EVAM é um player no campo de processamento de eventos em tempo real (Streaming Analytics) com mais de 40 empresas em todo o mundo usando seus sistemas para impulsionar o engajamento com mais de 200 milhões de clientes finais. A arquitetura começa com a identificação de eventos que precisam ser capturados com a filtragem e parsing de dados dos listeners (ouvintes) para fornecer a mensagem de evento formatada pelo sistema. Os eventos formatados são ingeridos pela engine EVAM, que é hospedada em um cluster in-memory de nós de computação distribuídos que processa os eventos, compatibiliza as correspondências de cenário e aciona a resposta em tempo real. O processo de ponta a ponta é realizado em 10-30 milissegundos.

O Apache Spark é um projeto de código aberto com significativas capacidades de streaming e processamento de dados em tempo real. O Spark inclui suporte para filtragem e parsing de dados, com eventos manipulados através de aplicativos operados independentemente. Alguns dos desafios que limitam a consideração do Spark para este projeto incluem a incorporação de eventos em tempo real em um cenário contextual baseado em tempo. Por exemplo, um provedor de rede sem fio cuidará de chamadas perdidas que ocorrem dentro de uma janela de tempo de várias horas (ou seja, três chamadas perdidas dentro de três horas).

Além disso, detectar “não eventos” é um desafio para o Spark (ou seja, um dispositivo não foi ativado nos cinco dias úteis após a compra). O EVAM fornece um sistema robusto para definição de cenários complexos orientados a negócios que combinam eventos em tempo real com janelas de tempo, “não eventos” e dados de perfil de cliente, com um Visual Scenario Designer direcionado a usuários corporativos. Por estas e outras razões, este projeto foi implementado usando o EVAM.

A AWS lançou novas capacidades muito significativas e por essa razão oferece uma solução de classe mundial para um projeto desse porte.

EVAM + AWS para processamento de eventos em tempo real

O sistema baseia-se em chamadas sem fio dentro de cada unidade operacional (normalmente definida por um país), que são capturadas, analisadas e os detalhes do evento são transmitidos para a AWS Kinesis (Etapa 1). Outros detalhes de chamada são capturados conforme ocorrem no gateway da API, e esses também são transmitidos em tempo real para a AWS Kinesis (2). Outros dados de clientes (faturamento, pagamentos etc.) são atualizados para um data warehouse baseado em RedShift (3). Um perfil de cliente especializado é gerado a partir do data warehouse para aumentar os dados em tempo real para fins de engajamento (4). O perfil tem aproximadamente 100 colunas de dados e centenas de bytes e pode ser mantido online no cache in-memory distribuído.

A combinação de eventos em tempo real é processada na engine de eventos EVAM para reconhecer cenários definidos que combinam os eventos com janelas de tempo e podem incluir “não eventos” e dados de perfil de cliente para acionar ações apropriadas de engajamento do cliente. Nesse caso, as ações resultantes são emails enviados, texto e notificações push que são roteados pelo gateway da API para o cliente final (5). Todo o processo é facilmente atendido em 30 milissegundos, do evento à ação.

Ao manter o controle das chamadas (recebidas e perdidas) e uma visão geral de onde cada cliente está na expiração e renovação do contrato pode fornecer a um operador de rede uma vantagem distinta no engajamento do cliente:

  • Todos os dias, todos os clientes dentro de X dias com necessidade de recomprar seus planos pré-pagos podem receber incentivos adequados para a recompra;
  • A qualquer momento, um cliente que experimenta repetidas chamadas perdidas dentro de uma janela de tempo prescrita pode receber uma ação de engajamento em tempo real;
  • Dispositivos comprados, mas não ativados, podem desencadear um acompanhamento junto ao cliente com dicas úteis sobre como começar

evam-aws-case-study-image-2A AWS fornece uma pegada global que serve a operações em geografias variadas. O cenário descrito neste post é parte de um projeto piloto que foi conduzido para uma única unidade operacional, que compreendeu um total de aproximadamente 3 milhões de usuários finais. Uma série de cenários foram desenvolvidos, que tiveram por base aproximadamente 10 fontes de dados em tempo real. A engine de processamento de eventos e o cache in-memory foram hospedados em uma única VM de 64 GB de 8 núcleos. Uma segunda VM de igual tamanho foi disponibilizada para fornecer alta disponibilidade.

Conclusão

O campo de streaming data está evoluindo rapidamente e agora é capaz de fornecer uma visão geral com status de clientes para engajamento em tempo real. A AWS oferece uma plataforma econômica e capaz, que pode ser aumentada com soluções como a EVAM para suportar o complexo cenário de negócios orientado para o engajamento avançado com clientes.

Fonte: DZone.com

21