En los entornos de producción necesitamos despliegues ágiles, versátiles y redundantes, y en Azure tratamos de obtener dichos resultados. Las aplicaciones Web desplegadas en la nube requieren de una clara distinción entre entornos de desarrollo y producción.

Mediante Azure App Services podemos crear no solo un entorno para desplegar una Web App, sino la posibilidad de emplear distintos Slots y poder intercambiarlos entre sí. Esto es vital cuando debemos mantener en la nube varias versiones de una misma WebApp (por ejemplo, una versión de prueba, una de producción y otra experimental)

Para emplear distintos Slots en App Services requerimos de un plan Tipo-Estándar (S1 o superior), pues no estarán disponibles en las versiones gratuitas o básicas.

Funcionamiento de los Slots

Azure: Slots en una WebApp.

Al desplegar nuestra aplicación web, contamos con un único slot. Cada uno de estos nos otorga la capacidad de contener nuestra propia web, haciendo que podamos mantener distintas versiones de una misma aplicación web empleando un slot para cada una.

Los slots nos facilitan el trabajo enormemente, en especial para entornos donde varios grupos dentro de una empresa (desarrollo, diseño) tienen que convivir con la misma página de la que se está ofertando el servicio. Azure permite hacer cambios en estos slots sin que la página inicial quede alterada.

Si queremos realizar cambios en un slot cualquiera, Azure nos proporcionará su «perfil de publicación» (credenciales). Este perfil podrá usarse en Visual Studio para automatizar el proceso de publicación de una aplicación web.

Una de las principales ventajas de trabajar con este modelo de Slots es que las restricciones de cada web son individuales. Esto nos permite limitar el acceso de las WebApps de prueba/desarrollo solamente a gente de la empresa, o publicar una versión alternativa de la página. Esto también se aplica a un posible escalado horizontal (mayor número de peticiones a la página) o vertical (más potencia para ésta).

Azure nos permite cambiar de WebApps con la opción de «Deployment Slots«, la cual intercambia su contenido y mantiene las direcciones de estas. Cuando hayamos hecho los cambios correspondientes, la opción de «Swap» abrirá un asistente para hacer el cambio.

Las ventajas del modelo de desarrollo «en la nube»

Mientras la infraestructura es propensa a ser migrada en la nube, algunas formas de trabajo continúan en un estado de prueba. Esto es una prueba más de que hay cargas de trabajo, ligeras y pesadas, que pueden darse a terceros.

Centrémonos en un ejemplo de negocio: una aplicación web pesada, que requiera de varios minutos a la hora de ser compilada, y que cada vez que sea necesario ha de ser publicada en nuestro sitio web. Esto puede ser una tarea pesada, que implique hasta horas de trabajo en un esfuerzo de computación. Mientras tengamos dichas instancias subidas a la nube, podemos automatizar dicha carga y realizar otro trabajo de forma local.

Por supuesto, siempre será menester de cada empresa automatizar distintas actividades, junto con los riesgos que conlleve una infraestructura local. Azure nos permite librarnos de esa dependencia, y nos muestra potentes herramientas para ello.

Autor/a: Andrés Miguel Villarmín
Curso: Microsoft MCSA Windows Server 2016 + Microsoft MCSE Cloud Platform & Infrastructure
Centro: Tajamar
Año académico: 2018-2019
LinkedIn: https://www.linkedin.com/in/andr%C3%A9s-miguel-villarm%C3%ADn-208554b8/

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.