A/B testování v Azure Web Sites

Webhosting na steroidech – Azure Web Sites – nabízí spoustu šikovných funkcí, které ale nejsou vidět na první pohled. Jednou z nich je možnost nastavit, že se návštěvníkům bude náhodně zobrazovat jedna z nasazených verzí webu, a zprovoznit tak A/B testování (čili jedné skupině uživatelů se zobrazí hlavní verze A, druhé skupině testovací verze B). Díky tomu můžete zkoušet například nový design nebo drobné kosmetické změny – posunuté tlačítko zleva doprava, tučný nadpis a jeho vliv na prokliky apod.

A/B testování nastavíme pomocí Preview portálu, deployment slotů a funkce nazvané "Testing in production".

1. Deployment Slot

Nejprve k existujícímu webu přidáme další deployment slot. Můžeme to provést i na stávajícím portále z nabídky na Dashboardu nebo v Preview portále v sekci Deployment Slots:

a-b_01

Po kliknutí na Add Slot zadáme název a zvolíme, jestli chceme zkopírovat konfiguraci ze stávajícího produkčního prostředí. Pokud je zatím prázdné, tato volba pro nás nemá význam. Aby přidání fungovalo, musí být web přepnutý do režimu Standard. Nezapomeňte také, že každý slot se platí stejně jako produkční verze.

a-b_02

2. Publikování

Jakmile se vytvoří deployment slot, má každá verze svou adresu – produkční prostředí si zachovává původní (např. https://mujweb.azurewebsites.net), Beta (Staging, Test, Dev… jakkoliv si ji pojmenujete) za ni přidává název slotu (např. https://mujweb-beta.azurewebsites.net). Nyní je potřeba oba sloty naplnit. Můžete to udělat standardním deploymentem z Visual Studia – ručně na každou adresu nasadit jinou verzi aplikace, nebo prostřednictvím správy zdrojového kódu (např. Visual Studio Online). Na každý deployment slot je možné napojit jiný repozitář.

Ať už to provedete jakkoliv, máte nyní dvě varianty aplikace: otestovanou produkční a beta verzi, kterou chcete pustit jenom na některé uživatele.

3. Testing in Production

Když na novém portále sjedeme o kousek níž pod deployment sloty, najdeme tam rámeček "Testing in Production". Tam nastavíme, na jaké sloty a s jakou pravděpodobností se noví návštěvníci dostanou.

a-b_04

Azure nyní náhodně vybere verzi, kterou příchozí uvidí, podle nastavených procent. Každý uživatel pak díky session afinitě zůstane na svojí verzi (automaticky se posílá ARR cookie), takže nebude zmatený, že se mu web mění pod rukama.

4. Monitoring

Aby A/B testování mělo smysl, je potřeba ho samozřejmě napojit na monitorovací a analytický systém. Použít můžete jakékoliv řešení vám vyhovuje, Azure má v sobě integrované Application Insights, coby součást Visual Studio Online (která je zdarma).

a-b_05

5. Hotovo

Když teď návštěvníci přijdou na hlavní adresu vašeho webu, Azure jim dynamicky vybere jednu ze zvolených verzí.

Martin