Aralez reverse proxy y service mesh sobre Cloudflare Pingora
Aralez significa guardián y sanador de héroes en la mitología armenia, un espíritu canino alado que baja del cielo para lamer las heridas de los caídos y devolverles la vida. Ese es el espíritu del proyecto: resiliencia, protección y rendimiento para tus servicios.
Construido en Rust y potenciado por el motor Pingora de Cloudflare, Aralez ofrece rendimiento de clase mundial, seguridad avanzada y escalabilidad desde el primer minuto. Ideal como reverse proxy de alto rendimiento, service mesh ligero y puerta de enlace para microservicios, APIs, WebSockets y gRPC.
Características clave
• Recarga dinámica de configuración sin reinicios mediante API o archivo supervisado • Terminación TLS con OpenSSL y carga automática de certificados desde una carpeta • Detección automática de TLS en upstreams para conexiones internas seguras • Limitador de peticiones integrado por vhost, global y por ruta con prioridad por ruta • Autenticación integrada con Basic, API Key mediante cabecera x-api-key y JWT con emisión de tokens en el endpoint interno jwt • Balanceo de carga round robin, failover con health checks y sesiones pegajosas mediante cookie • Puerto unificado para HTTP y WebSocket, soporte gRPC transparente y HTTP2 listo • Inyección de cabeceras globales y por ruta • File server embebido para ficheros estáticos como upstream • Métricas Prometheus integradas • Seguridad de memoria al estar escrito íntegramente en Rust • Alto rendimiento con Pingora y Tokio para I O asíncrona
Aspectos destacados
• Proveedores de upstreams tipo file con mapeos declarados y consul para descubrimiento dinámico • Hot reload de upstreams al guardar el archivo, sin cortes • WebSocket y gRPC automáticos sin configuración adicional • Sticky sessions activables globalmente • Salud de upstreams con métodos plugin HEAD GET POST • Push remoto de configuración ligero mediante API HTTP para integraciones CI CD
Estructura de archivos típica
• main.yaml configuración principal al arranque • upstreams.yaml mapeos de upstreams en caliente • etc server.crt y key.pem para TLS del proxy o de la API segura
Resumen de configuración main.yaml
• threads hilos del demonio • user y group para soltar privilegios tras arrancar como root • daemon ejecución en segundo plano • upstream_keepalive_pool_size tamaño del pool de conexiones keepalive a upstreams • pid_file error_log y upgrade_sock rutas de pid log y socket de upgrade • config_address y config_tls_address direcciones del API de configuración • config_tls_certificate y config_tls_key_file ficheros TLS del API si usas https • proxy_tls_grade high medium unsafe nivel de cifrados TLS • proxy_address_http y proxy_address_tls direcciones de escucha del proxy • proxy_certificates carpeta con certificados y claves en formato NAME.crt y NAME.key con carga automática • upstreams_conf ruta al archivo de upstreams • log_level info warn error debug trace off • hc_method hc_interval método e intervalo de health check • master_key clave maestra para API y secreto de JWT • file_server_folder y file_server_address servidor de ficheros embebido • config_api_enabled habilita el push remoto de configuración
Resumen de upstreams.yaml
• provider file o consul • definición de hostnames y paths con sus backends balanceados • cabeceras por upstream y cabeceras globales para todas las respuestas • autenticación opcional basic apikey jwt • to_https para redirecciones 301 selectivas • rate_limit global por vhost y por ruta con prioridad por ruta
Instalación
Descarga el binario para tu arquitectura desde las releases del repositorio en GitHub, dale permisos de ejecución y lánzalo con el archivo de configuración. Hay builds glibc de alto rendimiento con dependencias de sistema comunes y builds musl estáticas 100 por cien portables. También existe imagen Docker basada en Debian slim para despliegues rápidos.
Rendimiento glibc vs musl
Los binarios glibc muestran mayor rendimiento en pruebas intensivas con aproximadamente 129 mil peticiones por segundo frente a unos 124 mil en builds musl, a cambio de depender de bibliotecas estándar presentes en prácticamente cualquier distribución Linux.
Ejecución y systemd
Inicia Aralez apuntando a tu main.yaml o intégralo como servicio systemd con PIDFile y recarga mediante la opción de upgrade en caliente para modificaciones sin tiempo de inactividad.
Ejemplo conceptual de enrutamiento
• provider file • sticky_sessions false • rate_limit global 10 y por ruta 20 en la raíz de un dominio • to_https configurable global y por ruta con 301 • upstreams múltiples por ruta con balanceo • detección automática de TLS en upstreams incluyendo certificados autofirmados aceptados de forma silenciosa • cabeceras CORS globales y cabeceras adicionales por ruta • autenticación JWT con validación mediante secreto derivado de master_key
Hot reload
Los cambios en upstreams.yaml se aplican al instante. Con provider consul los upstreams se refrescan periódicamente desde la API del clúster.
Soporte TLS
Activa proxy_address_tls y proporciona certificados y clave. Se soporta OpenSSL para terminación y control del nivel de cifrados con proxy_tls_grade. Los certificados del proxy pueden cargarse automáticamente desde una carpeta, sin reinicio.
API remota de configuración
Publica un nuevo upstreams.yaml a la dirección config_address con el parámetro key igual a la master_key configurada. Ideal para pipelines CI CD y despliegues GitOps.
Autenticación integrada
• basic mediante cabecera estándar • apikey usando cabecera x-api-key • jwt mediante cabecera Authorization Bearer o parámetro de URL araleztoken • emisión de tokens JWT en el endpoint interno jwt aportando master_key owner y tiempo de validez en minutos
Licencia
Licencia Apache 2.0.
Notas y compatibilidad
• Basado en Pingora para eficiencia y flexibilidad • Pensado para edge proxying enrutamiento interno y escenarios híbridos en la nube • Upgrade WebSocket automático y proxy gRPC transparente • Sticky sessions mediante cookie • HTTP2 listo para producción
Comparativa en pocas palabras
Aralez ofrece recarga en caliente real por API y archivo, autenticación JWT nativa, detección automática de TLS en upstreams, soporte gRPC y WebSocket sin configuración y métricas Prometheus integradas, superando la necesidad de módulos externos o configuraciones complejas en alternativas tradicionales como Nginx HAProxy o Traefik.
Benchmark sintético con Oha
Con 3 upstreams Rust asíncronos sobre red 1 Gbps, 300 conexiones simultáneas durante 10 minutos, los binarios glibc alcanzaron alrededor de 129 mil solicitudes por segundo con latencias medias del orden de milisegundos, mientras que los binarios musl rondaron 124 mil, confirmando el foco de Aralez en rendimiento y eficiencia.
Cómo puede ayudarte Q2BSTUDIO
En Q2BSTUDIO diseñamos e implantamos arquitecturas de alto rendimiento con balanceo, mallas de servicios y observabilidad, combinando prácticas DevOps con ciberseguridad y despliegues en la nube. Si buscas modernizar tu plataforma con servicios cloud aws y azure, migrar a microservicios o construir software a medida y aplicaciones a medida con requisitos de latencia estrictos, nuestro equipo puede acompañarte de principio a fin. Consulta nuestros servicios cloud aws y azure y refuerza la protección de tus activos con nuestro equipo de ciberseguridad y pentesting en servicios de ciberseguridad.
SEO y valor para negocio
Integramos inteligencia artificial e ia para empresas con agentes IA, analítica avanzada y servicios inteligencia de negocio, conectando tu reverse proxy con pipelines de datos y cuadros de mando power bi para decisiones más rápidas. Combinamos observabilidad con prácticas de seguridad para ofrecer plataformas confiables, escalables y listas para el crecimiento.