APISIX eleva o desempenho do sistema para a empresa de gerenciamento de riscos

Jing Yan

Jing Yan

January 23, 2024

Case Study

Visão Geral

Sobre a DataVisor

A DataVisor é especializada em plataformas de gerenciamento de fraudes e riscos, capacitando organizações a combater dinamicamente ataques de fraudes em evolução e gerenciar proativamente riscos em tempo real. Sua extensa suíte de soluções integra tecnologia de aprendizado de máquina patenteada, inteligência nativa de dispositivos e um motor de decisão robusto para garantir proteção durante todo o ciclo de vida do cliente, abrangendo diversos setores e casos de uso. A DataVisor ocupa uma posição de destaque na indústria e é amplamente adotada por empresas Fortune 500 em todo o mundo.

Desafios

  • A DataVisor enfrenta a tarefa crítica de garantir a execução eficiente dos cálculos de controle de riscos para prevenir potenciais ameaças.

  • Equilibrar segurança e preservar uma excelente experiência do usuário apresenta um desafio para a DataVisor.

  • A escolha de uma ferramenta de gateway de API estável e de baixa latência é crucial para a DataVisor manter a operação suave do sistema.

Resultados

  • Ao utilizar o APISIX, a DataVisor simplificou suas operações, alcançando maior flexibilidade por meio do empacotamento de plugins específicos.

  • O APISIX se destaca por sua capacidade de reduzir substancialmente a latência para a DataVisor, resultando em tempos de processamento mais curtos para solicitações de usuários.

  • A DataVisor processou com sucesso solicitações em grande escala, garantindo a estabilidade e confiabilidade do sistema sob cargas elevadas com o APISIX, fornecendo uma base robusta para gerenciar picos de tráfego de usuários.

Contexto

O domínio do gerenciamento de riscos lida com volumes substanciais de dados sensíveis e informações de transações, exigindo medidas de segurança reforçadas para evitar possíveis ataques cibernéticos e violações de dados. Consequentemente, assim como a maioria das empresas de gerenciamento de riscos, a DataVisor precisa de uma solução para gerenciamento de gateway para garantir segurança e eficiência.

No desenvolvimento de produtos, a DataVisor adotou uma solução abrangente para gateway e autenticação. O APISIX não é apenas um componente isolado no ecossistema de produtos; ele colabora com outros produtos como o AWS API Gateway, Application Load Balancer (ALB), Imperva e um mecanismo integrado de autenticação OAuth. Todas essas ferramentas, cada uma equipada com funcionalidades de gateway, trabalham juntas para facilitar o acesso ao tráfego dentro do sistema da DataVisor.

APISIX_Datavisor

Pontos de Dificuldade Antes de Usar o APISIX

No cenário anterior ao APISIX, a DataVisor enfrentou desafios significativos na indústria de controle de riscos, destacando a necessidade imperativa de uma solução transformadora para melhorar a eficiência e a resiliência.

  • Pressão de Desempenho: Na indústria de controle de riscos, onde métricas de desempenho são cruciais, a DataVisor enfrenta o desafio de garantir a execução oportuna e eficiente dos cálculos de controle de riscos. Atrasos nesses cálculos podem levar à perda de controle sobre potenciais riscos nesse ambiente competitivo e propenso a riscos.

  • Equilíbrio entre Segurança e Experiência do Usuário: O principal objetivo das tarefas de controle de riscos é interceptar ações potencialmente prejudiciais dos usuários, preservando uma experiência de usuário perfeita. O sistema da DataVisor deve garantir a segurança do usuário sem comprometer o fluxo natural das interações do usuário, o que representa um equilíbrio desafiador.

  • Dificuldade com Ferramentas de Gateway Atendendo aos Requisitos: Muitas ferramentas de gateway de API no mercado enfrentam problemas como alta latência ou desempenho errático. Tais desafios podem impactar a estabilidade e disponibilidade do sistema da DataVisor, especialmente quando é crucial gerenciar eficientemente o tráfego de negócios. Portanto, escolher uma ferramenta de gateway de API estável e de baixa latência é crucial para manter a operação suave do sistema.

Por Que o APISIX

Ao decidir sobre uma solução para a configuração de produção da empresa, a DataVisor comparou cuidadosamente as opções e optou pelo APISIX por várias razões:

  1. Custo-Efetividade: Comparado a gateways de aplicação básicos de provedores de nuvem (como o ALB), o APISIX oferece economias significativas para nossas operações.

  2. Alto Desempenho, Baixa Latência: O APISIX se destaca por seu desempenho excepcional. Diferente de outras ferramentas de API Gateway, o APISIX não apenas evita atrasos perceptíveis, mas também é menos propenso a picos de desempenho, como P99 ou P9999, o que garante uma experiência mais suave sem problemas significativos de latência.

  3. Foco Específico na Indústria: No campo de controle de riscos, nosso sistema de negócios requer um tempo de computação de controle de riscos rápido de 50 milissegundos. A falha em completar essa computação prontamente resulta na imediata rejeição do resultado do controle de riscos. O principal objetivo do controle de riscos é interceptar ações potencialmente prejudiciais dos usuários sem interromper suas atividades normais.

Implementação do APISIX

Atualmente, a DataVisor está expandindo o uso do APISIX em um número crescente de cenários de negócios.

Dado que a DataVisor não se envolve em atividades comerciais diretas e principalmente atende a vários fornecedores que utilizam nossos serviços, o APISIX atua como o gateway para o tráfego implantado na rede pública. Essa abordagem de implantação pode parecer um tanto incomum em cenários práticos. Normalmente, o APISIX pode estar situado em uma intranet ou uma camada abaixo da rede pública. No entanto, a estratégia da empresa de implantá-lo diretamente na rede pública permite que o APISIX gerencie eficientemente o tráfego originado de diversos canais de negócios.

APISIX_Datavisor_process

Para oferecer uma compreensão mais concreta de como implementamos o APISIX em nosso ambiente de produção, um caso de uso típico é fornecido abaixo.

O Cliente A inicia o acesso ao nosso sistema via a rota vermelha para adquirir um token de acesso de autorização. Posteriormente, ele interage com o servidor de autorização interno da DataVisor ou se conecta a outros servidores de autorização, como o amplamente utilizado Okta, através do APISIX. O principal mecanismo de autenticação da empresa envolve o roteamento de todo o tráfego para o Okta para o processo inicial de autenticação.

Uma vez que os clientes obtêm diferentes tokens, as capacidades de roteamento do APISIX direcionarão esse tráfego autenticado para vários clusters Kubernetes. Atualmente, a DataVisor implantou um cluster Kubernetes ativo-ativo, com o tráfego sendo roteado para o Cluster A ou Cluster B. Normalmente, ele direciona o tráfego para um cluster Kubernetes, enquanto o outro serve como reserva, lidando com o tráfego apenas durante grandes atualizações ou atualizações de cluster.

APISIX_Datavisor_server

Em relação ao uso do gateway, a DataVisor optou por uma abordagem de implantação relativamente simples e padrão. Uma observação interessante é que a DataVisor pode colocar o APISIX fora de nosso cluster Kubernetes. Essa etapa é possibilitada pelo desempenho excepcional do APISIX, que requer recursos mínimos de CPU. Utilizar instâncias menores fora do cluster para implantar o APISIX provou ser eficaz no manuseio de tráfego de rede significativo.

No ambiente de produção da DataVisor, a empresa implantou três nós APISIX, cada um potencialmente configurado com apenas dois núcleos. Também empregou minicomputadores com 2G ou 4G de memória para gerenciar a carga de tráfego. De acordo com o desenvolvedor da DataVisor, espera-se que o desempenho do APISIX rivalize com o do NGINX e OpenResty, e talvez até supere suas expectativas iniciais.

Personalização do APISIX

Aprimorando o Processo Privilegiado

Embora não haja um conceito de processo privilegiado no NGINX, ele está presente no OpenResty, onde está no mesmo nível que os processos de trabalho. Esse processo é um tanto especial porque não lida com o tráfego de rede recebido—ele não escuta em nenhuma porta. No entanto, pode realizar várias tarefas de computação e coleta de dados. Como resultado, a DataVisor estendeu esse processo privilegiado para atender às suas necessidades específicas.

APISIX_Datavisor_backend

O diagrama acima fornece uma visão clara da relação entre o APISIX e os serviços de backend da DataVisor. A principal utilização do APISIX pela empresa é para receber e distribuir tráfego.

No nível do gateway, o APISIX realiza pré-processamento antes que o tráfego entre. O que diferencia a configuração da DataVisor é a introdução de um pequeno processo na camada do APISIX. Esse processo, funcionando como um Sidecar, opera simultaneamente com o processo APISIX, que é responsável por executar suas tarefas designadas. Após essa etapa, ele transmite os dados coletados para o APISIX, que, por sua vez, os transmite de volta para a camada superior do sistema para executar regras de negócios específicas. Embora esse padrão de uso seja relativamente incomum e normalmente não encontrado em cenários de negócios comuns, pode ser aplicável no controle de riscos.

APISIX_Datavisor_worker

Como a implementação do processo privilegiado é tratada? O modelo da DataVisor geralmente segue uma estrutura mestre-trabalhador, com processos de trabalho responsáveis por gerenciar o tráfego de negócios e o processo mestre bifurcando um processo privilegiado único. Em seu desenvolvimento, eles restringem o processo privilegiado a apenas um. Assim, a DataVisor elaborou uma estratégia distinta: dentro do processo privilegiado, eles bifurcam outro processo para lidar com tarefas adicionais, garantindo que não interfira nas responsabilidades exigentes do processo privilegiado.

Para a coleta de dados, a comunicação entre o processo privilegiado e os processos de trabalho é facilitada por um shared-dict. O desempenho do shared-dict é notavelmente robusto, atendendo às demandas da maioria dos cenários.

Desenvolvimento de Plugins

APISIX_Datavisor_plugin

Como resultado das modificações da DataVisor no APISIX, várias funcionalidades no produto empacotado estão profundamente embutidas no projeto, tornando ajustes dinâmicos desafiadores. Consequentemente, a DataVisor optou por empacotar plugins específicos, integrá-los ao projeto APISIX e, em seguida, fazer modificações usando o Dashboard.

O processo de desenvolvimento de plugins com o APISIX é altamente conveniente e facilita a criação fácil de plugins de alto desempenho. Atualmente, o APISIX suporta Lua para o desenvolvimento de plugins e várias linguagens de programação, como Java, Go e Python. Essa versatilidade capacita os usuários a implementar uma diversidade de funcionalidades.

Conquistas Após Usar o APISIX

A implantação do APISIX resultou em uma melhoria geral no desempenho do sistema da DataVisor, produzindo resultados excepcionais de produção.

  • Redução de Latência: Uma das características marcantes do APISIX é sua capacidade notável de reduzir substancialmente a latência. Em comparação com soluções alternativas, a DataVisor observou tempos de processamento mais curtos para solicitações de usuários, um fator crítico para oferecer uma melhor experiência do usuário.

  • Aumento de Taxa de Transferência: A introdução do APISIX levou a um aumento significativo na taxa de transferência, permitindo que o sistema lide com solicitações simultâneas com maior eficiência. Diferente de usar outros produtos de gateway de API, a DataVisor alcançou o processamento bem-sucedido de solicitações em grande escala, garantindo a estabilidade e confiabilidade do sistema sob cargas elevadas com o APISIX. Esse resultado solidifica uma base confiável para gerenciar picos de tráfego de usuários.

APISIX_Datavisor_effect

  • Domínio Fácil e Multilíngue de Plugins: Desenvolver plugins com o APISIX é excepcionalmente amigável, permitindo a criação suave de plugins de alto desempenho. Além disso, o APISIX suporta Lua para o desenvolvimento de plugins e várias linguagens de programação, incluindo Java, Go e Python. Essa versatilidade fornece aos usuários a capacidade de implementar uma ampla gama de funcionalidades, o que melhorou a experiência de desenvolvimento da DataVisor e capacitou os usuários a aproveitar sua expertise existente.

Resumo

Para resumir, a experiência de aplicação da DataVisor com o APISIX é notável. Ao usar o APISIX, a DataVisor simplificou as operações e garantiu a estabilidade do sistema e tempos de processamento mais rápidos para solicitações em grande escala. Além disso, o APISIX forneceu à DataVisor um ambiente amigável para desenvolvedores para criar, personalizar e otimizar plugins de alto desempenho com facilidade. Essas experiências, bem-sucedidas tanto na implementação técnica quanto no estabelecimento de uma base robusta, contribuem para a resiliência da DataVisor na indústria de controle de riscos.

Tags: