¿Recuerdas haber leído sobre nuevas funcionalidades agregadas a Facebook, Twitter, etcétera pero que sólo unos pocos han podido probar o ver? A su vez, puede pasar que esas nuevas características no lleguen a ser vistas por el resto de usuarios o por el contrario sea lanzada a nivel general en cuestión de días o semanas. Esta es una práctica que las compañías utilizan a menudo con el fin de probar cambios visuales o de funcionalidad en su aplicación, para saber si son aceptadas por sus usuarios, capturar nuevos casos de uso, etcétera.
Si trabajamos con Microsoft Azure Web Sites, podemos hacer uso de una herramienta disponible a través del nuevo portal llamada Testing in production, la cual nos permite justamente este comportamiento: definir porcentajes del tráfico de producción con el fin de derivarlo a entornos experimentales o cualquier otro uso que decidamos darle.
Configuración
Accedemos al nuevo portal a través de https://portal.azure.com/ y localizamos nuestro sitio web desde Browse > [Filter by] Websites. En la parte inferior de la información del sitio, veremos que hay un apartado llamado Testing in production donde nos avisa que todo el tráfico se está sirviendo a través del slot de producción:
De lo primero que se nos advierte es que debemos tener un plan Standard antes de crear un nuevo slot:
Para modificar el plan, basta con acceder al apartado Pricing tier y seleccionar el modelo Standard que más se ajuste a nuestras necesidades:
Una vez actualizado el Web Hosting plan, podremos crear un nuevo slot. En este ejemplo lo he llamado new-facelift, ya que me gustaría que parte de mi tráfico probara un entorno diferente con algunos cambios visuales del sitio web:
Para este ejemplo es más que suficiente que muestre el contenido por defecto, cuando se crea un nuevo web site o slot, con el fin de comprobar el funcionamiento de Testing in production.
El último paso es definir la cantidad de tráfico que queremos que sirva el nuevo slot y cuánto será manejado por producción como tal. Para ello, seleccionamos el slot generado y aplicamos un porcentaje:
Guardamos los cambios y probamos en dos navegadores distintos el acceder a la URL de producción:
En la imagen anterior se puede comprobar que cada navegador está accediendo a la misma URL pero con diferente resultado.
Si queremos averiguar, o modificar, con qué entorno debe tener afinidad el usuario durante el uso de la aplicación podemos acceder a las herramientas del navegador y acceder al apartado que gestiona las cookies. En él podemos comprobar que se genera una llamada TiPMix, la cual contiene el porcentaje sobre el cual está trabajando. En este ejemplo, si el porcentaje es menor al 50% las peticiones serán atendidas por el nuevo slot y, en caso contrario, el resto será manejado por el entorno de producción:
Si eliminamos dicha cookie, se reasignará un nuevo porcentaje.
Espero que sea de utilidad.
¡Saludos!