APISIX eleva el rendimiento del sistema para la empresa de gestión de riesgos
January 23, 2024
Visión general
Acerca de DataVisor
DataVisor se especializa en plataformas de gestión de fraude y riesgo, permitiendo a las organizaciones contrarrestar dinámicamente los ataques de fraude en evolución y gestionar proactivamente los riesgos en tiempo real. Su amplia suite de soluciones integra tecnología de aprendizaje automático patentada, inteligencia nativa de dispositivos y un motor de decisiones robusto para garantizar la protección durante todo el ciclo de vida del cliente, abarcando diversas industrias y casos de uso. DataVisor ocupa una posición destacada en la industria y es ampliamente adoptado por empresas Fortune 500 en todo el mundo.
Desafíos
-
DataVisor enfrenta la tarea crítica de garantizar la ejecución eficiente de los cálculos de control de riesgos para prevenir riesgos potenciales.
-
Equilibrar la seguridad y preservar una excelente experiencia de usuario representa un desafío para DataVisor.
-
La elección de una herramienta de puerta de enlace API estable y de baja latencia es crucial para que DataVisor mantenga un funcionamiento fluido del sistema.
Resultados
-
Al aprovechar APISIX, DataVisor ha optimizado sus operaciones, logrando una mayor flexibilidad mediante el empaquetado de plugins específicos.
-
APISIX destaca por su capacidad para reducir sustancialmente la latencia para DataVisor, lo que lleva a tiempos de procesamiento más cortos para las solicitudes de los usuarios.
-
DataVisor ha procesado con éxito solicitudes a gran escala, asegurando la estabilidad y confiabilidad del sistema bajo cargas altas con APISIX, proporcionando una base sólida para gestionar picos en el tráfico de usuarios.
Antecedentes
El ámbito de la gestión de riesgos maneja volúmenes sustanciales de datos sensibles e información de transacciones, lo que requiere medidas de seguridad reforzadas para protegerse contra posibles ciberataques y filtraciones de datos. En consecuencia, al igual que la mayoría de las empresas de gestión de riesgos, DataVisor necesita una solución para la gestión de puertas de enlace que garantice la seguridad y la eficiencia.
En el desarrollo de productos, DataVisor ha adoptado una solución integral para la puerta de enlace y la autenticación. APISIX no es solo un componente independiente dentro del ecosistema del producto; colabora con otros productos como AWS API Gateway, Application Load Balancer (ALB), Imperva y un mecanismo integrado de autenticación OAuth. Todas estas herramientas, cada una equipada con funcionalidades de puerta de enlace, trabajan juntas para facilitar el acceso al tráfico dentro del sistema de DataVisor.
Puntos críticos antes de usar APISIX
En el panorama previo a APISIX, DataVisor enfrentó desafíos significativos en la industria de control de riesgos, destacando la necesidad imperiosa de una solución transformadora para mejorar la eficiencia y la resiliencia.
-
Presión de rendimiento: En la industria de control de riesgos, donde las métricas de rendimiento son cruciales, DataVisor enfrenta el desafío de garantizar la ejecución oportuna y eficiente de los cálculos de control de riesgos. Los retrasos en estos cálculos podrían llevar a una pérdida de control sobre los riesgos potenciales en este entorno competitivo y propenso a riesgos.
-
Equilibrio entre seguridad y experiencia del usuario: El objetivo principal de las tareas de control de riesgos es interceptar acciones de usuarios potencialmente dañinas mientras se preserva una experiencia de usuario fluida. El sistema de DataVisor debe garantizar la seguridad del usuario sin comprometer el flujo natural de las interacciones del usuario, lo que plantea un equilibrio desafiante.
-
Dificultad con las herramientas de puerta de enlace que cumplen los requisitos: Muchas herramientas de puerta de enlace API en el mercado enfrentan problemas como alta latencia o rendimiento errático. Tales desafíos pueden afectar la estabilidad y disponibilidad del sistema de DataVisor, especialmente cuando es crucial gestionar eficientemente el tráfico empresarial. Por lo tanto, elegir una herramienta de puerta de enlace API estable y de baja latencia es crucial para mantener el funcionamiento fluido del sistema.
Por qué APISIX
Al decidir sobre una solución para la configuración de producción de la empresa, DataVisor comparó cuidadosamente las opciones y optó por APISIX por varias razones:
-
Rentabilidad: En comparación con las puertas de enlace de aplicaciones básicas de los proveedores de la nube (como ALB), APISIX ofrece ahorros significativos para nuestras operaciones.
-
Alto rendimiento, baja latencia: APISIX destaca por su rendimiento excepcional. A diferencia de otras herramientas de puerta de enlace API, APISIX no solo evita retrasos notables, sino que también es menos propenso a picos de rendimiento, como P99 o P9999, lo que garantiza una experiencia más fluida sin problemas significativos de latencia.
-
Enfoque específico de la industria: En el campo del control de riesgos, nuestro sistema empresarial requiere un tiempo de cálculo rápido de control de riesgos de 50 milisegundos. No completar este cálculo de manera oportuna resulta en el descarte inmediato del resultado del control de riesgos. El objetivo principal del control de riesgos es interceptar acciones de usuarios potencialmente dañinas sin interrumpir sus actividades normales.
Implementación de APISIX
Actualmente, DataVisor está ampliando el uso de APISIX en un número creciente de escenarios empresariales.
Dado que DataVisor no participa en actividades empresariales directas y principalmente sirve a varios proveedores que utilizan nuestros servicios, APISIX actúa como la puerta de enlace para el tráfico desplegado en la red pública. Este enfoque de implementación puede parecer algo inusual en escenarios prácticos. Normalmente, APISIX podría estar situado en una intranet o una capa por debajo de la red pública. Sin embargo, la estrategia de la empresa de desplegarlo directamente en la red pública permite que APISIX gestione eficientemente el tráfico originado desde diversos canales empresariales.
Para ofrecer una comprensión más concreta de cómo implementamos APISIX en nuestro entorno de producción, se proporciona un caso de uso típico a continuación.
El Cliente A inicia el acceso a nuestro sistema a través de la ruta roja para obtener un token de acceso de autorización. Posteriormente, interactúa con el servidor de autorización interno de DataVisor o se conecta a otros servidores de autorización, como el ampliamente utilizado Okta, a través de APISIX. El mecanismo principal de autenticación de la empresa implica enrutar todo el tráfico a Okta para el proceso inicial de autenticación.
Una vez que los clientes obtienen diferentes tokens, las capacidades de enrutamiento de APISIX dirigirán este tráfico autenticado a varios clústeres de Kubernetes. Actualmente, DataVisor ha desplegado un clúster Kubernetes activo-activo, con el tráfico siendo enrutado al Clúster A o al Clúster B. Normalmente, dirige el tráfico a un clúster de Kubernetes, mientras que el otro sirve como reserva, manejando el tráfico solo durante actualizaciones extensas o actualizaciones del clúster.
En cuanto al uso de la puerta de enlace, DataVisor ha optado por un enfoque de implementación relativamente sencillo y estándar. Una observación interesante es que DataVisor puede colocar APISIX fuera de nuestro clúster de Kubernetes. Este paso es posible gracias al rendimiento excepcional de APISIX, que requiere recursos mínimos de CPU. Utilizar instancias más pequeñas fuera del clúster para desplegar APISIX ha demostrado ser efectivo para manejar un tráfico de red significativo.
En el entorno de producción de DataVisor, la empresa ha desplegado tres nodos de APISIX, cada uno potencialmente configurado con solo dos núcleos. También ha empleado minicomputadoras con 2G o 4G de memoria para manejar la carga de tráfico. Según el desarrollador de DataVisor, se espera que el rendimiento de APISIX rivalice con el de NGINX y OpenResty, y quizás incluso supere sus expectativas iniciales.
Personalización de APISIX
Mejora del proceso privilegiado
Aunque no existe un concepto de proceso privilegiado en NGINX, está presente en OpenResty, donde se encuentra al mismo nivel que los procesos de trabajo. Este proceso es algo especial porque no maneja el tráfico de red entrante—no escucha en ningún puerto. Sin embargo, puede realizar diversas tareas de cálculo y recopilación de datos. Como resultado, DataVisor ha extendido este proceso privilegiado para satisfacer sus necesidades específicas.
El diagrama anterior proporciona una visión clara de la relación entre APISIX y los servicios backend de DataVisor. El uso principal de APISIX por parte de la empresa es para recibir y distribuir el tráfico.
En el nivel de la puerta de enlace, APISIX realiza un preprocesamiento antes de que el tráfico ingrese. Lo que distingue la configuración de DataVisor es la introducción de un pequeño proceso en la capa de APISIX. Este proceso, que funciona como un Sidecar, opera concurrentemente con el proceso de APISIX, que es responsable de ejecutar sus tareas designadas. Después de este paso, transmite los datos recopilados a APISIX, que, a su vez, los transmite de vuelta a la capa superior del sistema para realizar reglas empresariales específicas. Aunque este patrón de uso es relativamente poco común y no se encuentra típicamente en escenarios empresariales comunes, puede ser aplicable en el control de riesgos.
¿Cómo se maneja la implementación del proceso privilegiado? El modelo de DataVisor sigue típicamente una estructura maestro-trabajador, con procesos de trabajo responsables de gestionar el tráfico empresarial y el proceso maestro bifurcando un proceso privilegiado único. En su desarrollo, restringen el proceso privilegiado a solo uno. Por lo tanto, DataVisor ha ideado una estrategia distinta: dentro del proceso privilegiado, bifurcan otro proceso para manejar tareas adicionales, asegurando que no interfiera con las responsabilidades exigentes del proceso privilegiado.
Para la recopilación de datos, la comunicación entre el proceso privilegiado y los procesos de trabajo se facilita a través de un shared-dict. El rendimiento de shared-dict es notablemente robusto, satisfaciendo las demandas de la mayoría de los escenarios.
Desarrollo de plugins
Como resultado de las modificaciones de DataVisor a APISIX, numerosas funcionalidades en el producto empaquetado están integradas profundamente dentro del proyecto, lo que hace que los ajustes dinámicos sean desafiantes. En consecuencia, DataVisor optó por empaquetar plugins específicos, integrarlos en el proyecto APISIX y luego realizar modificaciones utilizando el Dashboard.
El proceso de desarrollo de plugins con APISIX es altamente conveniente y facilita la creación sin esfuerzo de plugins de alto rendimiento. Actualmente, APISIX admite Lua para el desarrollo de plugins y múltiples lenguajes de programación como Java, Go y Python. Esta versatilidad permite a los usuarios implementar una amplia gama de funcionalidades.
Logros después de usar APISIX
El despliegue de APISIX ha resultado en una mejora general del rendimiento del sistema de DataVisor, produciendo resultados de producción excepcionales.
-
Reducción de la latencia: Una de las características destacadas de APISIX es su notable capacidad para reducir sustancialmente la latencia. En comparación con soluciones alternativas, DataVisor ha observado tiempos de procesamiento más cortos para las solicitudes de los usuarios, un factor crítico para ofrecer una mejor experiencia de usuario.
-
Aumento del rendimiento: La introducción de APISIX ha llevado a un aumento significativo en el rendimiento, permitiendo que el sistema maneje solicitudes concurrentes con mayor eficiencia. A diferencia del uso de otros productos de puerta de enlace API, DataVisor ha logrado procesar con éxito solicitudes a gran escala, asegurando la estabilidad y confiabilidad del sistema bajo cargas altas a través de APISIX. Este resultado solidifica una base confiable para gestionar picos en el tráfico de usuarios.
- Dominio sin esfuerzo de plugins multilingües: Desarrollar plugins con APISIX es excepcionalmente fácil de usar, permitiendo la creación fluida de plugins de alto rendimiento. Además, APISIX admite Lua para el desarrollo de plugins y varios lenguajes de programación, incluyendo Java, Go y Python. Esta versatilidad proporciona a los usuarios la capacidad de implementar una amplia gama de funcionalidades, lo que ha mejorado la experiencia de desarrollo de DataVisor y ha permitido a los usuarios aprovechar su experiencia existente.
Resumen
En resumen, la experiencia de aplicación de DataVisor con APISIX es notable. Al usar APISIX, DataVisor ha optimizado sus operaciones y asegurado la estabilidad del sistema y tiempos de procesamiento más rápidos para solicitudes a gran escala. Además, APISIX proporcionó a DataVisor un entorno amigable para desarrolladores para crear, personalizar y optimizar plugins de alto rendimiento con facilidad. Estas experiencias, exitosas tanto en la implementación técnica como en el establecimiento de una base sólida, contribuyen a la resiliencia de DataVisor en la industria de control de riesgos.