I pesi endpoint possono effettivamente essere utilizzati per condurre test A/B con AWS Global Accelerator, ma questa capacità si applica specificamente agli acceleratori standard, non agli acceleratori di routing personalizzati.
pesi endpoint e test A/B in acceleratori standard
In un acceleratore standard, è possibile assegnare pesi a singoli endpoint all'interno di un gruppo endpoint. Questi pesi determinano la proporzione di traffico instradati a ciascun endpoint. Regolando i pesi, è possibile controllare quanto traffico va a ciascuna versione dell'applicazione, consentendo un cambiamento graduale di traffico per scenari come test A/B o versioni di Canarie.
Ad esempio, se hai due endpoint, è possibile assegnare pesi di 1 e 255, quindi circa 1/256 del traffico va al primo endpoint (ad esempio una nuova versione della tua app) e 255/256 al secondo (la versione stabile corrente). È quindi possibile aumentare gradualmente il peso della nuova versione per spostare più traffico verso di essa, monitorare le prestazioni e l'esperienza dell'utente prima di implementazione completa. L'impostazione del peso di un endpoint su 0 interrompe il traffico a quell'endpoint. Questa distribuzione ponderata del traffico si basa sul rapporto tra peso di ciascun endpoint e peso totale nel gruppo [2] [3] [4] [5].
Perché i pesi endpoint non vengono utilizzati per i test A/B negli acceleratori di routing personalizzati
Al contrario, gli acceleratori di routing personalizzati funzionano in modo diverso. Qui, gli endpoint non sono singoli istanze EC2 o bilanciatori di carico ma piuttosto sotterranee VPC contenenti istanze EC2. Il routing del traffico si basa su mappature delle porte statiche dalle porte dell'ascoltatore dell'acceleratore alle porte di destinazione sulle istanze EC2 all'interno di queste sottoreti.
È importante sottolineare che gli acceleratori di routing personalizzati non supportano i pesi endpoint per la distribuzione del traffico. Il traffico viene instradato determinalmente alla sottorete mappata e alle porte senza bilanciamento del carico o distribuzione ponderata. Inoltre, i controlli sanitari e il failover non vengono eseguiti per gli acceleratori di routing personalizzati e il traffico viene instradato indipendentemente dalla salute degli endpoint. Questo design è destinato a casi d'uso come VoIP o giochi, in cui è necessario un controllo preciso su quale istanza gestisce una connessione, piuttosto che la distribuzione probabilistica del traffico [4] [7] [9].
Riepilogo
- Gli acceleratori standard supportano i pesi endpoint, consentendo di eseguire test A/B controllando la quota del traffico che ogni endpoint riceve.
- Gli acceleratori di routing personalizzati non supportano i pesi endpoint; Il routing del traffico è deterministico in base alle mappature delle porte alle sottorete VPC, rendendo i test A/B tramite pesi non fattibili.
- Per i test A/B con routing personalizzato, è necessario implementare il routing a livello di applicazione o altri meccanismi al di fuori della configurazione del peso dell'acceleratore globale.
Pertanto, se il tuo obiettivo è condurre test A/B attraverso la ponderazione del traffico, è necessario utilizzare un acceleratore standard anziché un acceleratore di routing personalizzato [2] [3] [4] [7].
Citazioni:
[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/glossary/what-is-aws-global-ackcelerator/
[6] https://awscli.amazonaws.com/v2/documentation/api/latest/reference/globalackcelerator/add-endpoints.html
[7] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-custom-routing-guidelines.html
[8] https://aws.plainenglish.io/understanding-aws-global-accelerator-and-when-to-use-it-799c2bc440f6
[9] https://awscli.amazonaws.com/v2/documentation/api/2.4.18/reference/globalackcelerator/index.html