Prueba e implementación de la plantilla convertida

Completado

Después de mejorar el archivo de Bicep durante la fase de refactorización, debe probar el archivo e implementarlo en el entorno de Azure. Las fases cuarta y quinta del flujo de trabajo recomendado son la fase de prueba y la fase de implementación:

Diagram that shows the test and deploy phases of the recommended workflow for migrating Azure resources to Bicep.

El enfoque principal de estas dos fases es probar el archivo de Bicep con las herramientas disponibles y, luego, implementarlo en su entorno de Azure.

Fase de prueba

En la fase de prueba de la migración de sus recursos a Bicep, los objetivos son comprobar la integridad de las plantillas migradas y realizar una implementación de prueba.

La fase de prueba consta de dos pasos que se completan en este orden:

  1. Ejecución de la operación what-if de la implementación de la plantilla de ARM.
  2. Realización de una implementación de prueba.

Diagram that shows a Bicep file being tested and deployed to Azure.

La operación what-if proporciona una vista previa de los cambios que se realizarán al implementar el archivo de Bicep. Use una implementación de prueba para comparar sus recursos originales con los recursos recién implementados.

¿Qué es la operación what-if de la implementación de la plantilla de ARM?

Al implementar nuevos recursos o modificar los recursos existentes, es posible que se introduzcan cambios importantes en sus entornos. La implementación podría modificar o eliminar los recursos existentes, crear nuevos recursos configurados incorrectamente o afectar a la funcionalidad general de la aplicación.

La operación what-if de implementación de plantillas de ARM puede ayudarle a comprobar las plantillas convertidas antes de implementarlas. Compara el estado actual de su entorno con el estado previsto que se define en la plantilla. La herramienta genera la lista de cambios que se producirán sin aplicar los cambios a su entorno. Este proceso puede aumentar el nivel de confianza en sus implementaciones. Puede usar what-if en las implementaciones de modo incremental y completo. Incluso si tiene pensado implementar la plantilla con el modo incremental, es recomendable ejecutar la operación what-if en modo completo. La ejecución de la operación what-if le ayuda a identificar los recursos que podría haber dejado accidentalmente fuera de la plantilla.

Nota:

Es posible que la operación what-if catalogue algunas propiedades de recursos como eliminadas, cuando en realidad no van a cambiar. Esos resultados se consideran ruido.

Implementación de prueba

Antes de introducir la plantilla de Bicep convertida en producción, considere la posibilidad de ejecutar varias implementaciones de prueba. Si tiene varios entornos (producción, desarrollo, prueba), puede intentar implementar primero la plantilla en uno de los entornos que no son de producción. Después de la implementación, compare los recursos originales con las nuevas implementaciones de recursos para mantener la coherencia.

Sugerencia

Si no tiene acceso a un entorno que no sea de producción para probar la implementación, implemente la plantilla de Bicep en un nuevo entorno.

Fase de implementación

El objetivo de la fase de implementación de la migración de sus recursos a Bicep es implementar el archivo de Bicep final en producción. Antes de la implementación de producción, debe tener en cuenta algunas cuestiones.

La fase de implementación consta de cuatro pasos, que se completan en este orden:

  1. Preparación de un plan de reversión.
  2. Ejecución de la operación what-if en producción.
  3. Implemente el archivo de Bicep manualmente.
  4. Ejecute pruebas de humo.

Estos pasos le ayudarán a prepararse para cualquier posible problema con las implementaciones de producción.

Diagram that shows a Bicep file being deployed to Azure.

Preparación de un plan de reversión

La capacidad de recuperarse de una implementación con errores es fundamental. Dedique un tiempo a desarrollar un plan de reversión para usarlo si se introducen cambios importantes en los entornos. El plan debe tener en cuenta la estrategia de continuidad empresarial y recuperación ante desastres (BCDR) de la organización. Haga un inventario de los tipos de recursos que se implementan, como máquinas virtuales, aplicaciones web y bases de datos. También debe tener en cuenta el plano de datos de cada recurso. ¿Existe alguna forma de recuperar una máquina virtual y sus datos? ¿Existe alguna forma de recuperar una base de datos después de que se elimine o los datos de una cuenta de almacenamiento? Un plan de reversión bien desarrollado le ayudará a reducir el tiempo de inactividad al mínimo si surgen problemas derivados de una implementación.

Ejecución de la operación what-if en producción

Ya ha ejecutado la operación what-if en los demás entornos para comprobar que el nuevo archivo de Bicep no provocará cambios importantes. Antes de implementar el archivo de Bicep final en producción, ejecute la operación what-if en el entorno de producción. Asegúrese de usar los valores de parámetro de producción y considere la posibilidad de documentar los resultados.

Implementación manual

Si va a usar la plantilla convertida en una canalización, como Azure DevOps o GitHub Actions, considere la posibilidad de ejecutar primero la implementación desde su equipo local. Es mejor comprobar la funcionalidad de la plantilla antes de agregarla a la canalización de producción. Después de ver cómo funciona la plantilla, puede responder rápidamente si hay un problema.

Ejecución de pruebas de humo

Una vez finalizada la implementación, se recomienda ejecutar una serie de pruebas de humo. Una prueba de humo es una comprobación sencilla que valida que la aplicación o la carga de trabajo funcionan. Por ejemplo, compruebe si la aplicación web es accesible a través de canales de acceso normal, como la red pública de Internet o una VPN corporativa. En el caso de las bases de datos, intente realizar una conexión de base de datos y ejecutar una serie de consultas. Con las máquinas virtuales, inicie sesión en la máquina virtual y asegúrese de que todos los servicios estén en ejecución.