Los pesos de punto final se pueden usar para realizar pruebas A/B con AWS Global Acelerator, pero esta capacidad se aplica específicamente a los aceleradores estándar, no a los aceleradores de enrutamiento personalizados.
Pesos de punto final y pruebas A/B en aceleradores estándar
En un acelerador estándar, puede asignar pesos a puntos finales individuales dentro de un grupo de punto final. Estos pesos determinan la proporción de tráfico enrutado a cada punto final. Al ajustar los pesos, puede controlar cuánto tráfico va a cada versión de su aplicación, lo que permite el cambio de tráfico gradual para escenarios como pruebas A/B o versiones canarias.
Por ejemplo, si tiene dos puntos finales, puede asignar pesos de 1 y 255, por lo que aproximadamente 1/256 del tráfico va al primer punto final (por ejemplo, una nueva versión de su aplicación) y 255/256 al segundo (la versión estable actual). Luego puede aumentar gradualmente el peso de la nueva versión para cambiar más tráfico a él, monitorear el rendimiento y la experiencia del usuario antes del lanzamiento completo. Establecer el peso de un punto final en 0 detiene por completo a ese punto final. Esta distribución de tráfico ponderada se basa en la relación del peso de cada punto final con el peso total en el grupo [2] [3] [4] [5].
Por qué los pesos de punto final no se usan para pruebas A/B en aceleradores de enrutamiento personalizados
En contraste, los aceleradores de enrutamiento personalizados funcionan de manera diferente. Aquí, los puntos finales no son instancias de EC2 individuales o equilibradores de carga, sino más bien subredes VPC que contienen instancias EC2. El enrutamiento de tráfico se basa en las asignaciones de puertos estáticos desde los puertos de oyentes del acelerador hasta los puertos de destino en instancias EC2 dentro de estas subredes.
Es importante destacar que los aceleradores de enrutamiento personalizados no admiten pesos de punto final para la distribución del tráfico. El tráfico se enruta determinista a la subred asignada y los puertos sin equilibrio de carga o distribución ponderada. Además, los controles de salud y la conmutación por error no se realizan para aceleradores de enrutamiento personalizados, y el tráfico se enruta independientemente de la salud del punto final. Este diseño está destinado a casos de uso como VoIP o juegos, donde necesita un control preciso sobre qué instancia maneja una conexión, en lugar de una distribución de tráfico probabilístico [4] [7] [9].
Resumen
- Los aceleradores estándar admiten pesos de punto final, lo que le permite realizar pruebas A/B controlando la proporción del tráfico que recibe cada punto final.
- Los aceleradores de enrutamiento personalizados no admiten pesos de punto final; El enrutamiento de tráfico es determinista en función de las asignaciones de puertos a las subredes VPC, haciendo que las pruebas A/B no sean factibles.
- Para pruebas A/B con enrutamiento personalizado, necesitaría implementar un enrutamiento de nivel de aplicación u otros mecanismos fuera de la configuración de peso del Acelerador Global.
Por lo tanto, si su objetivo es realizar pruebas A/B a través de la ponderación del tráfico, debe usar un acelerador estándar en lugar de un acelerador de enrutamiento personalizado [2] [3] [4] [7].
Citas:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints-endpoint-weights.html
[2] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[3] https://cloudchipr.com/blog/aws-global-accelerator
[4] https://www.alibabacloud.com/help/en/ga/user-guide/overview-4/
[5] https://www.nops.io/glosario/what-is-aws-global-accelerator/
[6] https://awscli.amazonaws.com/v2/documentation/api/latest/reference/globalaccelerator/add-endpoints.html
[7] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-guidelines.html
[8] https://aws.lainenglish.io/understanding-aws-global-accelerator-and-when-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalaccelerator/index.html