360 mejora la gestión de recursos en la nube con APISIX
December 11, 2020
Visión General
Acerca de la Plataforma de Operaciones y Mantenimiento Básico 360
La Plataforma de Operaciones y Mantenimiento Básico 360 es una plataforma de gestión y monitoreo de aplicaciones basada en la nube orientada a empresas, diseñada para ayudar a las empresas a gestionar mejor sus recursos en la nube, mejorar la disponibilidad y el rendimiento de las aplicaciones, y satisfacer las crecientes demandas de sus necesidades comerciales.
Antes de usar APISIX, la capa de puerta de enlace de la Plataforma de Operaciones y Mantenimiento Básico 360 tenía algunas deficiencias, como un rendimiento y escalabilidad deficientes al manejar grandes volúmenes de tráfico, así como una alta complejidad en la gestión y el monitoreo. Por lo tanto, el equipo planea renovar la capa de puerta de enlace para mejorar el tiempo de respuesta y la eficiencia de gestión de la plataforma. El equipo tiene como objetivo crear una capa de puerta de enlace de alto rendimiento, escalable y fácil de gestionar para administrar y monitorear mejor las aplicaciones en la nube.
Desafíos
- Complejidad de las Aplicaciones: Las aplicaciones basadas en la nube suelen ser más complejas que las aplicaciones tradicionales, involucrando múltiples módulos y servicios, lo que requiere una implementación y gestión más complejas.
- Disponibilidad y Rendimiento de las Aplicaciones: Las aplicaciones basadas en la nube necesitan mantener una alta disponibilidad y rendimiento para satisfacer las demandas de los usuarios. Esto requiere un mejor monitoreo y resolución de problemas.
- Seguridad de las Aplicaciones: Las aplicaciones basadas en la nube deben garantizar la seguridad y privacidad de los datos, lo que requiere un mejor control de acceso y políticas de seguridad.
Resultados
- Se ha construido con éxito una arquitectura basada en plugins, lo que permite una mayor flexibilidad en la personalización y extensión del sistema.
- La plataforma puede mantener altos niveles de disponibilidad y capacidad de respuesta incluso bajo cargas pesadas.
- Los administradores pueden monitorear el sistema en tiempo real y identificar y resolver problemas rápidamente, asegurando que el sistema siempre opere con la máxima eficiencia.
Por qué 360 Eligió APISIX
El equipo de la Plataforma de Operaciones y Mantenimiento Básico 360 finalmente eligió Apache APISIX principalmente debido a la opción de almacenamiento de etcd, que es más adecuada para el escenario de uso. Al seleccionar una solución de almacenamiento, se deben considerar múltiples factores, como el tipo de datos, el volumen de datos, la frecuencia de lectura/escritura, el patrón de acceso a los datos y la seguridad de los datos. En comparación con etcd, otras opciones de almacenamiento pueden tener algunas deficiencias.
Por ejemplo, Postgres es adecuado para consultas complejas de datos y procesamiento de transacciones, pero carece en términos de rendimiento de lectura/escritura y escalabilidad. Cassandra es adecuado para el almacenamiento y análisis de datos a gran escala, pero carece de alto rendimiento de lectura/escritura y consistencia de datos. Redis es adecuado para el almacenamiento en caché de alta velocidad y el almacenamiento de datos, pero aún necesita mejorar la consistencia y confiabilidad de los datos. PaaS es adecuado para la construcción, implementación y gestión rápida de aplicaciones, pero requiere una solución de almacenamiento más flexible y escalable. Zookeeper es adecuado para la gestión y coordinación de aplicaciones distribuidas, pero aún tiene deficiencias en la consistencia y confiabilidad de los datos.
En comparación, etcd, como un sistema de almacenamiento distribuido de clave-valor altamente confiable, escalable, de alto rendimiento y fácil de usar, satisface mejor las necesidades de la Plataforma de Operaciones y Mantenimiento Básico 360 en la nube y, por lo tanto, fue elegido como la solución de almacenamiento. Además de la opción de almacenamiento, APISIX también ha traído otras sorpresas al equipo de la Plataforma de Operaciones y Mantenimiento Básico 360. La siguiente tabla muestra las diferencias entre APISIX y productos similares en varios aspectos además de la selección de almacenamiento.
API Gateway | APISIX | Kong | Tyk | Apigee | AWS | Aliyun |
---|---|---|---|---|---|---|
Modo de Implementación | nodo único y clúster | nodo único y clúster | nodo único y clúster | No compatible con implementación de nodo único | PaaS | PaaS |
Selección de Almacenamiento | etcd | Postgres, Cassandra | Redis | Postgres, Cassandra, Zookeeper | PaaS | PaaS |
¿Es de código abierto? | Licencia Apache 2.0 | Licencia Apache 2.0 | Licencia MPL | No | No | No |
Tecnología Central | NGINX + Lua | NGINX + Lua | Golang | / | / | / |
Implementación Privada | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ |
Plugins Personalizados | ✓ | ✓ | ✓ | ✕ | ✕ | ✕ |
Participación de la Comunidad | Alta | Alta | Alta | Moderada | Baja | Baja |
¿Soporta YAML? | Soporta | Soporta | No soporta | No soporta | No soporta | No soporta |
El siguiente diagrama muestra la arquitectura final del proyecto de la Plataforma de Operaciones y Mantenimiento Básico 360, incluyendo el servicio de puerta de enlace implementado en la nube de contenedores de la empresa y el servicio etcd implementado en un conjunto de clústeres en 3 máquinas virtuales.
Logros después de Usar APISIX
Desarrollo Basado en Plugins Construido con Éxito
Apache APISIX utiliza plugins para satisfacer las diversas necesidades de los clientes en el manejo del tráfico y cualquier escenario específico. Actualmente, hay más de 100 plugins listos para usar, y los usuarios pueden desarrollar plugins personalizados para admitir nuevas funciones.
Actualmente, la Plataforma de Operaciones y Mantenimiento 360 ha implementado varias funciones utilizando tanto plugins desarrollados internamente como plugins nativos proporcionados por APISIX, incluyendo, entre otros, autenticación de usuarios, limitación de tasa por IP, reenvío de solicitudes, registro de logs y funciones de alarma.
Los archivos del proyecto de la Plataforma de Operaciones y Mantenimiento Básico 360 tienen dos directorios, "libs" y "plugins". El directorio "libs" contiene algunas bibliotecas comúnmente utilizadas, mientras que el directorio "plugins" contiene plugins personalizados de negocio. Todas las operaciones de negocio en la plataforma 360 se desarrollan utilizando un mecanismo de plugins. El proyecto tiene dos nombres de dominio de entrada: uno para acceso a OpenAPI, que utiliza el plugin de autenticación basic-auth, y otro para acceso desde navegadores web, que utiliza el plugin web-auth (autenticación por cookies). La siguiente figura muestra los plugins actualmente utilizados en el proyecto.
Manejo Fácil de Grandes Volúmenes de Tráfico
Al elegir las tecnologías adecuadas e implementarlas de manera efectiva, la Plataforma de Operaciones y Mantenimiento Básico 360 ha podido construir una plataforma de gestión de aplicaciones en la nube de alto rendimiento y robustez que puede satisfacer las crecientes demandas de sus necesidades comerciales.
La Plataforma de Operaciones y Mantenimiento Básico 360 actualmente tiene casi 900 APIs agregadas a su puerta de enlace, con un promedio diario de alrededor de 10 millones de PVs. Según su sistema de monitoreo, tanto la puerta de enlace como sus diversos microservicios están funcionando sin problemas. Esto indica que la infraestructura de la plataforma es capaz de manejar grandes volúmenes de tráfico y garantizar una alta disponibilidad para sus usuarios. También muestra que su equipo de desarrollo ha hecho un gran trabajo en el diseño e implementación de su arquitectura de sistema al elegir APISIX como la capa de puerta de enlace. Este éxito se puede atribuir a varios factores, incluida la escalabilidad y confiabilidad de APISIX, así como su uso de etcd como solución de almacenamiento. En el futuro, la plataforma continuará monitoreando el rendimiento de su sistema y realizará mejoras según sea necesario para garantizar que mantenga altos niveles de calidad y servicio para sus usuarios.
Monitoreo Eficiente del Sistema
Las características de observabilidad proporcionadas por APISIX brindan múltiples beneficios a la plataforma de operaciones y mantenimiento básico 360:
-
En primer lugar, las características de observabilidad de APISIX pueden ayudar a los desarrolladores a monitorear el sistema de manera más eficiente, detectar y resolver problemas potenciales de manera oportuna, y mejorar la confiabilidad del sistema.
-
En segundo lugar, los registros de acceso y el monitoreo de métricas en tiempo real pueden ayudar a los desarrolladores a localizar problemas rápidamente, optimizar el rendimiento del sistema y mejorar la disponibilidad y el rendimiento del sistema.
-
Finalmente, las verificaciones de salud pueden garantizar la disponibilidad de los servicios backend y ajustar automáticamente las estrategias de reenvío de solicitudes, mejorar la experiencia del usuario y proporcionar un mejor servicio para los usuarios.
Las características de observabilidad de APISIX pueden ayudar a la Plataforma de Operaciones y Mantenimiento Básico 360 a monitorear y gestionar el sistema de manera más eficiente, mejorar la disponibilidad, el rendimiento y la confiabilidad del sistema, y proporcionar una mejor experiencia de servicio para los usuarios.
Resumen
La Plataforma de Operaciones y Mantenimiento Básico 360 eligió APISIX debido a su opción de almacenamiento de etcd, que se adapta mejor a su escenario de uso. APISIX también trajo otros beneficios, como el desarrollo basado en plugins, una buena observabilidad y un mejor monitoreo y gestión del sistema.