APISIX eleva o desempenho do sistema para a empresa de gerenciamento de riscos
January 23, 2024
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.
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:
-
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.
-
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.
-
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.
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.
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.
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.
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
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.
- 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.