O blog da AWS

Como a Pismo processa 200 milhões de eventos por dia utilizando serviços AWS

Por Diego Valdez de Faria  e Felipe Brito

 

A Pismo é uma empresa de tecnologia que fornece uma plataforma de processamento para serviços bancários e de pagamentos para bancos, marketplaces e fintechs, ajudando empresas e seus clientes a se libertarem de limitações da tecnologia bancária tradicional.

A plataforma Pismo é estruturada em cima de microsserviços executados nativamente na nuvem da AWS. Ela possibilita, às instituições financeiras, lançar produtos escaláveis que seguem os padrões de segurança e disponibilidade.

A plataforma é acessada através de APIs que recebem, mensalmente, bilhões de requisições. Quando há alguma alteração de estado em uma conta (uma mudança de saldo ou limite, uma transação realizada ou negada, por exemplo), um evento de alteração (changefeed) é gerado e enviado à plataforma de eventos.

A plataforma de eventos coleta dados dos microsserviços, analisando-os para prevenir quebras de contrato ou envio de informações incorretas. Ela armazena, filtra, roteia e entrega essas informações, em poucos segundos, a centenas de endpoints de eventos dos clientes dispersos em diferentes regiões. Assim, clientes e parceiros Pismo podem integrar esses eventos a aplicações críticas, como aplicativos móveis e de anti-fraude. Também podem produzir seus próprios balanços e realizar análises de dados em tempo real.

Desafios

De 2019 até o final de 2021, a Pismo cresceu mais de dez vezes em volume de transações. Em 2022, mais que dobrou o número de operações, com 35 milhões de novas contas e 70 milhões de cartões. A plataforma transacionou mais de 200 bilhões de dólares em um ano. A empresa também lançou novos produtos para o mercado financeiro com alto volume de transações e passou a operar em novas regiões, como Europa, Índia, e Sudeste Asiático.

Este crescimento, tanto em volume de transações como na variedade de produtos, impôs desafios à plataforma de processamento de eventos. Em 2023, a plataforma passou de 750 milhões para 6 bilhões de eventos processados mensalmente. Ao mesmo tempo, a implantação em novas regiões exigiu adaptações para atender regulamentos locais, alterações de segurança e novas integrações, além de novos recursos requeridos pelos clientes.

Número de transações na plataforma

Uma plataforma de dados, destinada a serviços financeiros, precisa garantir a integridade dos eventos e sua disponibilidade. Inúmeros processos críticos realizados em instituições bancárias dependem dessas integrações de dados quase em tempo real. Assim, a plataforma precisa operar sem quebra de contrato e entregar eventos com baixa latência.

“Durante 2021 e 2022, descobrimos que alguns dos nossos clientes utilizavam os eventos em controles antifraude integrados em aplicativos móveis. Eles necessitavam de SLAs de processamento de eventos (medidos desde a geração do evento até a entrega final) menores que 5 segundos e com disponibilidade do serviço de 99.9% ou mais”.

Além da complexidade técnica de criar uma plataforma disponível e segura, a volumetria trouxe desafios de custo e adaptabilidade à Pismo. Em geral, plataformas com alto throughput de processamento requerem baixa latência e alta adaptabilidade para adição de novas funcionalidades. Cumprir essas exigências normalmente implica alto custo de processamento em comparação com processos em batch, que são o padrão em instituições bancárias, mas que não satisfaziam as necessidades da Pismo.

Arquitetura

Para manter a adaptabilidade da plataforma de dados e sua escalabilidade, separou-se todos os processos e serviços em módulos. Serviços de mensageria da AWS como AWS SNS, Amazon SQS e Amazon Kinesis foram utilizados para conectar cada módulo.  O processamento em cada conjunto de serviços foi desenvolvido seguindo uma arquitetura orientada a eventos, utilizando o serviço de computação Serverless AWS Lambda como principal mecanismo para permitir escalabilidade e customização do processo.

A plataforma de dados comporta-se como uma central de eventos (Event Hub), executando quatro processos (ou fluxos) principais:

  1. Coleta e armazenamento de eventos oriundos de mais de 500 diferentes tipos de APIs nos vários ambientes e regiões onde a Pismo fornece seus serviços, respeitando as legislações locais de proteção de dados. Em muitos lugares, há exigências de replicação, armazenamento e controles específicos;
  2. Filtragem, agrupamento por tenant e roteamento de eventos para cada destinatário, de modo a transmitir, a cada cliente e contexto, os eventos de acordo com as regras que serão aplicadas nos passos seguintes do fluxo de dados;
  3. Agrupamento, roteamento de eventos (por tipo e subtipo) e verificação de regras de negócio, conteúdo e estrutura dos payloads de cada evento coletado. Verifica-se se os data types estão de acordo com os contratos (esquemas de dados) que cada cliente consome. Confirma-se também o conteúdo, a sensibilidade de dados e as estruturas obrigatórias de cada Data Type. Essa parte do processo é bastante sensível para os clientes finais, pois os processos em tempo real que consomem os eventos podem ser severamente impactados em caso de inconformidade dos tipos de dados. O conteúdo, da mesma forma, precisa ser verificado e, em alguns casos, limpo. Na limpeza, utilizando Regex e Machine Learning, remove-se os dados sensíveis não conformes com a legislação ou as regras de segurança acordadas;
  4. Envio e guarda de metadados de entrega (ou fanout) por cliente, tipo, subtipo de evento e destino. Coleta-se a telemetria e os metadados de modo a garantir a entrega e a completude do processamento dos eventos coletados pela plataforma. Em alguns casos, integrações adicionais são realizadas com parceiros.

Como mencionado anteriormente, para garantir o alto throughput e a integridade do processamento, a plataforma foi desenvolvida utilizando uma arquitetura orientada a eventos (event-driven). Ao se utilizar o AWS Lambda, foi possível oferecer resiliência ao ambiente e processar separadamente cada evento. Além disso, a Pismo criou toda essa arquitetura se utilizando de infraestrutura como código (IaC)”. Este modelo de arquitetura e implantação proporcionou para a Pismo, além da escalabilidade, baixo custo operacional para implementar esta solução globalmente.

Um desafio em uma plataforma com essa arquitetura e porte é gerenciar e otimizar os custos. Isso se tornou possível com a aplicação de tags de custo a cada módulo desenvolvido e implementado via IaC. Em 2022 e no início de 2023 foram identificados os principais pontos que geravam custos elevados na plataforma. Entre as otimizações, destaca-se a troca do modo de persistência utilizada pelas Lambdas e a linguagem de programação utilizada em algumas funções.

Outro desafio foi aumentar os níveis de segurança e modularidade. Isso se tornou mais fácil com o avanço das funções de segurança que a AWS oferece.

Considerações Finais

Nos últimos 18 meses, os custos da plataforma foram reduzidos em 90%. No mesmo período, resiliência inter regional também foi aplicada no ambiente. Isso foi implementado usando funcionalidades de replicação e conectividade inter-regionais presentes nos serviços AWS utilizados

Com custos sob controle, escalabilidade, segurança e confiabilidade garantidas, novos produtos criados com base nos eventos estão sendo implementados, como serviços de análise e Machine Learning em tempo real.  Notou-se que clientes do seguimento financeiros não necessitavam apenas de eventos em estado bruto para seus sistemas, mas sim dados de eventos já transformados, agrupados para consumo.

Com base nessa constatação, produtos que expõem os dados para uso direto em ferramentas de Analytics estão sendo desenvolvidos atualmente e poderão ser consumidos através de uma Feature Store por APIs de sistemas de recomendação, acelerando o uso de dados para enriquecimento da experiência do usuário final e para processos automatizados por inteligência artificial.

 


Sobre os autores

Diego Valdez de Faria é head da área de Dados e diretor de engenharia na Pismo. É engenheiro pela Poli-USP e mestre em economia pela UFSCar. Antes da Pismo, atuou em empresas como Nubank, Wildlife Studios e Semantix, liderando equipes dedicadas a machine learning,  analytics, engenharia de dados (big data e streaming) e infraestrutura.

 

 

 

 

Felipe Brito é arquiteto de soluções na AWS e guia clientes nas melhores práticas de arquitetura na nuvem. Possui experiência com projetos de desenvolvimento de software e análise de dados.

 

 

 

 

Revisores

Rodrigo Prado é arquiteto de Soluções na AWS, e trabalha com parceiros de software na criação de produtos utilizando as melhores praticas da AWS.

 

 

 

 

Luiz Moreira é Technical Account Manager da AWS auxiliando clientes em sua jornada de nuvem. Possui mais de 18 anos de experiência em tecnologia nas áreas de infraestrutura, como computação, rede e armazenamento e nos últimos 10 anos vem se dedicando na especialização em Segurança.