Como desplegar un Azure App Service sin tiempos de caída

Es muy probable que si estamos realizando y desplegando una API o una web usando App Services, necesitemos que nuestro producto este siempre on-line, sin dejar de dar servicio en ningún momento durante el proceso de despliegue. También es posible que quieras probar manualmente que todo funciona correctamente, pero sin que esto afecte a los usuarios en producción. O simplemente te puede interesar realizar pruebas A/B y redirigir parte del trafico entrante a distintos servicios. Para ello, Azure App Service ofrece los Staging Slots.

Hemos de tener en cuenta que esta característica no esta disponible en todos los niveles del servicio, por lo que en los niveles gratuitos, compartidos y el básico no podrás utilizarlo. También es algo normal, ya que es una característica útil en entornos productivos.

Listado de las características incluidas en el app service, entre ellas se encuentra staging slot, en este caso permite hasta cinco slots

Vamos a ver como crear y configurar un App Service que no deje de dar servicio durante un despliegue.

Sigue leyendo Como desplegar un Azure App Service sin tiempos de caída

DevOps con Azure DevOps(III) – Crear una Build

Desde hace muy poco tiempo Visual Studio Team Services ha cambiado de nombre para pasar a llamarse Azure Devops y esto me ha obligado a cambiar el título de la serie de entradas en las que llevo trabajando un tiempo. A parte de eso y de todos los cambios de UI, la filosofía sigue siendo la misma. Ya hemos visto como crear una cuenta de Azure DevOps  y como crear un proyecto y añadir el repositorio de Git. El siguiente paso es crear y configurar una «Build» que se encargue compilar el código y generar los paquetes necesarios para automatizar el despliegue. Todo ello pensando en un futuro proceso de integración y despliegue continuo.

Sigue leyendo DevOps con Azure DevOps(III) – Crear una Build

Despliegue continuo en Azure con plantillas ARM

Las plantillas ARM (Azure Resource Manager) nos permiten parametrizar y automatizar la creación y despliegue de toda la infraestructura Azure necesaria en un proyecto (la web, el service plan, las bases de datos, etc…) permitiendo así la creación de nuevos entornos exactamente iguales en cuestión de minutos y sin esfuerzo. Además, como por defecto el despliegue es incremental, si modificamos algún elemento de la ecuación este se actualizará sin afectar al resto.

Vamos a ver como crear una plantilla ARM y como integrarla en el proceso de despliegue.

Sigue leyendo Despliegue continuo en Azure con plantillas ARM

DevOps con Visual Studio Team Services y Azure (II)

En en anterior post introduje el tema y explique como crear la cuenta de VSTS. En este tratare el segundo de los puntos de la la serie: crearé un proyecto básico y lo vincularé con los repositorios GIT de VSTS. Para crear el proyecto voy a usar Visual Studio 2017, si no lo tienes, puedes vajar la versión Community 2017 gratuitamente.

Ahora hay que crear un nuevo proyecto del tipo ASP.Net Core Web Application (.Net Core). Como dije en el el post anterior, este proyecto es solo la excusa para todo lo demás, así que podrías crear el tipo de proyecto que mas te guste.

Sigue leyendo DevOps con Visual Studio Team Services y Azure (II)

DevOps con Visual Studio Team Services y Azure (I)

Llevo ya demasiado tiempo sin actualizar el blog, y la vuelta de las vacaciones es una buena oportunidad para empezar con una serie de entradas que hace tiempo que quiero escribir. La intención de esta serie es crear un proyecto web app (muy sencillo) con ASP .NET Core MVC y gestionar todo su ciclo de vida con Visual Studio Team Services (en adelante VSTS). Los puntos que quiero tratar son:

  1. Crear una cuenta de VSTS y un repositorio GIT para el proyecto.
  2. Crear un proyecto del tipo web app con ASP .NET Core y vincularlo con VSTS (muy sencillo, básicamente la plantilla, el objetivo de los artículos es gestionar el ciclo de vida, no crear un proyecto web).
  3. Configuración de VSTS (equipos, sprints, tareas…).
  4. Configuración y políticas de Pull Request.
  5. Integración y despliegue continuo en Azure.
  6. Monitorización con Azure Application Insights

Al finalizar, tendremos un proyecto web con filosofía DevOps, con integración y configuración continua. Y todo lo tendremos sin haber gastado ni un céntimo de Euro.

Sigue leyendo DevOps con Visual Studio Team Services y Azure (I)