Creación de ranuras de implementación

Completado

Por lo general, las organizaciones necesitan ejecutar las aplicaciones web en entornos aislados para probarlas antes de implementarlas. También deben implementarse rápidamente y sin afectar a los usuarios.

Supongamos que está intentando decidir si quiere usar ranuras como una manera simplificada de implementar una aplicación web en el sistema de medios sociales. Quiere averiguar si las ranuras de implementación disminuirán el tiempo de inactividad durante las implementaciones, si facilitarán las reversiones y si puede configurarlas en Azure.

Aquí aprenderá cómo las ranuras de implementación facilitan la prueba e implementación del código nuevo.

Uso de una ranura de implementación

Dentro de una aplicación web única de Azure App Service puede crear varias ranuras de implementación. Cada ranura es una instancia independiente de esa aplicación web y tiene un nombre de host independiente. Puede implementar una versión distinta de la aplicación web en cada ranura.

Una ranura es el espacio de producción. Esta ranura es la aplicación web que los usuarios ven cuando se conectan. Asegúrese de que la aplicación implementada en esta ranura sea estable y que esté bien probada.

Use ranuras adicionales para hospedar versiones nuevas de la aplicación web. En estos casos, puede ejecutar pruebas como pruebas de integración, pruebas de aceptación y las pruebas de capacidad. Solucione cualquier problema antes de mover el código al espacio de producción. Las ranuras adicionales se comportan como sus propias instancias de App Service, por lo que puede estar seguro de que sus pruebas muestran la manera en que la aplicación se ejecutará en producción.

Una vez que esté satisfecho con los resultados de la prueba para una nueva versión de la aplicación, impleméntela intercambiando la ranura con el espacio de producción. A diferencia de una implementación de código, un intercambio de ranuras es instantáneo. Cuando se intercambian ranuras, se intercambian los nombres de host de las ranuras y se envía de inmediato el tráfico de producción a la versión nueva de la aplicación. Cuando usa intercambios de ranura para la implementación, la aplicación nunca se expone a la Web pública en un estado de implementación parcial.

Si descubre que, a pesar de las pruebas cuidadosas que realice, se produce un problema con la versión nueva, puede revertirla si intercambia las ranuras a la situación original.

Descripción de las ranuras como recursos de Azure independientes

Cuando se usa más de una ranura de implementación para una aplicación web, esas ranuras se tratan como instancias independientes de esa aplicación web. Por ejemplo, se enumeran por separado en la página Todos los recursos en Azure Portal. Cada una tiene su propia dirección URL. Pero cada ranura comparte los recursos del plan de App Service, incluida la CPU y la memoria de la máquina virtual, así como el espacio en disco.

Creación de ranuras de implementación y niveles

Las ranuras de implementación solo están disponibles cuando la aplicación web usa un plan de App Service en los niveles Estándar, Premium o Aislado. En la tabla siguiente se muestran el número máximo de ranuras que se pueden crear:

Nivel Máximo de ranuras de ensayo
Gratis 0
Compartido 0
Básico 0
Estándar 5
Premium 20
Aislado 20

Evite el arranque en frío durante los intercambios

Muchas de las tecnologías que los desarrolladores usan para crear aplicaciones web requieren que la compilación final y otras acciones se realicen en el servidor antes de que se pueda entregar una página al usuario. Muchas de estas tareas se completan cuando la aplicación se inicia y recibe una solicitud. Por ejemplo, si usa ASP.NET para compilar la aplicación, el código se compila y las vistas se completan cuando el primer usuario solicita una página. Las solicitudes posteriores de esa página recibirán una respuesta más rápida, porque el código ya está compilado.

El retraso inicial se denomina arranque en frío. Puede evitar un arranque en frío mediante el uso de intercambios de ranuras para implementarse durante la producción. Cuando cambia una ranura a producción, se "prepara" la aplicación porque la acción envía una solicitud a la raíz del sitio. La solicitud de preparación garantiza la finalización de todas las tareas de compilación y almacenamiento. Después del intercambio, el sitio responde tan rápido como llevara días implementado.

Creación de una ranura de implementación

Antes de crear una ranura, asegúrese de que la aplicación web se ejecuta en los niveles Estándar, Premium o Aislado:

  1. Abra su aplicación web en Azure Portal.

  2. Seleccione el panel Ranuras de implementación.

  3. Seleccione Agregar ranura.

  4. Asigne un nombre a la ranura.

  5. Elija si clonar la configuración de otra ranura. Si elige clonar, la configuración se copia en la ranura nueva desde la ranura que se especifique.

    Screenshot of naming a new deployment slot and choosing whether to clone settings in the Azure portal.

Nota:

Aunque se puede clonar la configuración a una nueva ranura, no se puede clonar contenido. Las ranuras nuevas siempre empiezan sin contenido. Para implementar contenido, debe usar Git u otra estrategia de implementación. La operación de clonación copia la configuración en la ranura nueva. Después de clonar la configuración, la configuración de ambas ranuras se puede cambiar por separado.

Seleccione Agregar para crear la ranura. Ahora verá la nueva ranura en la lista de la página Ranuras de implementación. Seleccione la ranura para ver su panel de administración.

Screenshot of the list of deployment slots for a web app.

Acceso a una ranura

El nombre de host de la ranura nueva deriva del nombre de la aplicación web y del nombre de la ranura. Cuando seleccione la ranura en la página Ranuras de implementación, obtendrá este nombre de host:

Screenshot of finding the URL for a new slot in the Azure portal.

Puede implementar el código en la ranura nueva del mismo modo que lo implementa para el espacio de producción. Solo tiene que sustituir el nombre o la dirección URL de la ranura nueva en la configuración de la herramienta de implementación que usa. Si usa FTP para realizar la implementación, verá el nombre de host y el nombre de usuario de FTP justo debajo de la dirección URL de la ranura.

En realidad, la ranura nueva es una aplicación web independiente con otro nombre de host. Por eso nadie en Internet puede acceder a ella si conocen ese nombre de host. A menos que registre la ranura con un motor de búsqueda o un vínculo a ella desde una página rastreada, la ranura no aparecerá en los índices de motores de búsqueda. Seguirá oculta para el usuario general de Internet.

Puede controlar el acceso a una ranura mediante las restricciones de dirección IP. Cree una lista de intervalos de direcciones IP que le permitan acceder a la ranura, o bien una lista de intervalos a la que denegará acceso a la ranura. Estas listas son similares a los intervalos permitidos y los intervalos denegados que puede configurar en un firewall. Use esta lista para permitir el acceso solo a los equipos que pertenecen a su empresa o equipo de desarrollo.

Creación de ranuras de implementación

1.

¿Cómo garantiza Azure App Service que el rendimiento de producción no disminuya justo después de un intercambio?

2.

¿Cuáles de los siguientes elementos NO se comparten entre todas las ranuras de implementación de una aplicación web?