Una vez que tenemos desplegada nuestra solución en Microsoft Azure, debemos decidir cómo vamos a gestionar las actualizaciones de la aplicación. Una de las virtudes del entorno cloud, es que la propia plataforma puede gestionar por nosotros la actualización de la aplicación, evitando la pérdida del servicio (siempre y cuando tengamos más de una instancia por rol).
Dicho esto, cuando necesitamos desplegar una nueva versión de nuestro servicio tenemos dos modos de actualización disponibles:
- Incremental update: Actualiza las instancias una por una (opción por defecto).
- Simultaneous update: Actualiza todas las instancias a la vez, por lo que el servicio estará fuera de servicio durante la actualización, pero el proceso será más rápido.
Estas opciones están disponibles desde Visual Studio, una vez que seleccionamos la opción Publish sobre el proyecto cloud, en el apartado Advanced Settings:
Dentro de este apartado tenemos dos opciones en cuanto al deployment: eliminar el mismo si el proceso no se completa correctamente (Delete deployment on failure), lo cuál restablecería la IP pública si se da el caso, y actualización del deployment existente (Deployment Update). Respecto a este último, tenemos más opciones a través del enlace Settings…
Además, tenemos la opción de realizar un full deployment, lo cual se hará efectivo en el caso de que la actualización falle. Es importante recordar que cada vez que hacemos un despliegue completo la IP pública será restablecida, excepto si hacemos uso de la reserva de IP.
Gracias a estas opciones podemos elegir el mejor modo de actualización, ya que es posible que por incompatibilidad con la versión anterior del servicio sea necesario que todos los nodos sean actualizados a la vez o, por el contrario, ambas versiones puedan convivir por un corto periodo de tiempo, o simplemente estemos trabajando en un entorno de pruebas donde podemos agilizar la actualización del servicio haciendo el proceso de manera masiva.
Por otro lado, desde el lado del portal, también disponemos de otras opciones que pueden ser útiles dentro del proceso de actualización:
Como se puede ver en la imagen anterior, las opciones desde el portal varían respecto al IDE: Tenemos la opción de actualizar solamente uno de los roles, o todos ellos, y permitir el cambio en lo que respecta al tamaño o número de las máquinas virtuales definidas previamente. Debemos aceptar la actualización de aquellos roles en los que sólo hemos definido una instancia para su ejecución, lo cual supondrá una pérdida del servicio parcial o total.
Espero que sea de utilidad.
¡Saludos!