¿Por qué usar pilas de implementación?

Completado

Va a evaluar si las pilas de implementación pueden proporcionar las características adecuadas para la administración del ciclo de vida de los recursos. Ha dedicado tiempo a aprender sobre las características de las pilas de implementación y cómo puede usarla para administrar las aplicaciones y los recursos de Azure. Quiere obtener más información sobre por qué debe tener en cuenta las pilas de implementación y sus ventajas generales.

En esta unidad obtendrá información sobre las ventajas de las pilas de implementación.

Ventajas de las pilas de implementación

Hay muchas ventajas que las pilas de implementación pueden agregar al proceso de aprovisionamiento de recursos, entre las que se incluyen:

  • Aprovisionamiento simplificado
  • Prevención de cambios no autorizados
  • Limpieza de recursos confiable
  • Plantillas estandarizadas
  • Mejora de los procesos existentes

Aprovisionamiento simplificado

Considere la posibilidad de implementar una aplicación que necesite implementarse en varios grupos de recursos en varias suscripciones. En una implementación estándar, es necesario emitir varias operaciones de creación en el ámbito de cada grupo de recursos. La canalización de implementación debe diseñarse para controlar las dependencias de recursos y la secuencia de implementación.

Con las pilas de implementación, puede implementar la aplicación con un solo comando. En este ejemplo, al determinar el ámbito de la pila de implementación en el nivel de grupo de administración, todos los recursos se implementan en las suscripciones y grupos de recursos adecuados en el momento de la ejecución. Las actualizaciones de la aplicación se controlan de la misma manera, mediante un único comando de implementación.

Este proceso reduce significativamente el número de operaciones necesarias para implementar o modificar la aplicación.

Prevención de cambios no autorizados

Las pilas de implementación proporcionan una capa adicional de seguridad y barreras de protección que ayudan a evitar cambios no autorizados en los recursos de Azure.

Al crear una pila de implementación, puede especificar un permiso que se aplique a los recursos administrados por la pila. Estos permisos, conocidos como "configuración de denegación", se usan para evitar la modificación o eliminación de usuarios no autorizados.

La configuración de denegación puede parecer similar en concepto al control de acceso basado en rol (RBAC) de Azure y a los bloqueos de Azure. RBAC se usa para asignar roles específicos a usuarios específicos en un ámbito específico; por ejemplo, para asignar el rol de colaborador a un usuario en el ámbito del grupo de recursos. Los bloqueos se usan para evitar la modificación o eliminación de recursos en ámbitos específicos, independientemente del usuario que realice la acción. Por ejemplo, colocar un bloqueo de solo lectura en el ámbito de la suscripción impide modificaciones o eliminaciones en todos los recursos, incluso si el usuario tiene el permiso RBAC para hacerlo.

La configuración de denegación de pila de implementación permite implementar controles sobre una colección de recursos entre ámbitos, que reemplazan las asignaciones o bloqueos de RBAC que pueden estar en vigor.

Limpieza de recursos confiable

Considere un entorno de desarrollo para una aplicación que se implementa en varios grupos de recursos de una suscripción. Para quitar el entorno y eliminar todos los recursos, es necesario emitir varias operaciones de eliminación en los grupos de recursos y los recursos. Si existen dependencias entre recursos, es posible que se produzca un error en la operación de eliminación. Los recursos eliminados fuera de secuencia también pueden provocar un error en la operación de eliminación.

Las pilas de implementación permiten eliminar la pila y todos sus recursos a través de una sola llamada API, sin necesidad de comprender las dependencias. Esta única operación quita los recursos de forma confiable y mejora la velocidad de eliminación.

Otra ventaja de eliminar recursos administrados por una pila es la posibilidad de ahorrar costos. La eliminación de una aplicación y sus recursos no administrados por una pila de implementación es muchas veces un esfuerzo manual que es propenso a errores. Es posible olvidar accidentalmente la eliminación de determinados recursos, que siguen incurriendo en costos. Las pilas de implementación resuelven este problema actuando como una herramienta de administración de costos, especialmente cuando se trabaja con entornos efímeros.

Al eliminar una pila de implementación, puede usar la propiedad actionOnUnmanage para determinar cómo controla Azure los recursos, los grupos de recursos y los grupos de administración contenidos en la pila. Azure puede eliminar los recursos, los grupos de recursos y los grupos de administración, o puede desasociarlos, lo que significa que los recursos no se eliminan, sino que la pila ya no los administra.

Proceso estandarizado y plantillas

La creación e implementación de una pila de implementación y sus recursos es casi idéntica a una implementación estándar de Azure. Por ejemplo:

El comando de la CLI de Azure para implementar un archivo de Bicep en un grupo de recursos es:

az deployment group create \
    --resource-group rg-depositsApplication \
    --template-file ./main.bicep

El comando de la CLI de Azure para crear una pila de implementación en el ámbito del grupo de recursos es:

az stack group create \
    --name stack-deposits \
    --resource-group rg-depositsApplication \
    --template-file ./main.bicep \
    --action-on-unmanage detachAll \
    --deny-settings-mode none

Las pilas de implementación admiten el uso de archivos de Bicep, plantillas JSON de ARM o especificaciones de plantilla para definir recursos en una pila. Al implementar una pila de implementación mediante la CLI de Azure o Azure PowerShell, puede apuntar al archivo de plantilla específico (archivo Bicep o plantilla JSON de ARM) o a la especificación de plantilla. No es necesario cambiar cómo se definen los recursos.

Mejora de los procesos existentes

Si ya usa la infraestructura como código para administrar las implementaciones de los recursos en Azure, las pilas de implementación le proporcionan más control sobre el proceso. Como se explicó en la sección anterior, el proceso de creación de una pila de implementación no es muy diferente de la creación de una implementación basada en un grupo de recursos. La capacidad de implementar en grupos de administración, suscripciones y grupos de recursos con un solo comando es mucho más sencillo con las pilas de implementación. La seguridad de los recursos forma parte del proceso de implementación con pilas.