Por que usar pilhas de implantação?

Concluído

Você está avaliando se as pilhas de implantação podem fornecer os recursos certos para o gerenciamento do ciclo de vida dos recursos. Você passou algum tempo aprendendo sobre os recursos das pilhas de implantação e como pode usá-las para gerenciar seus aplicativos e recursos do Azure. Você quer saber mais sobre por que deve considerar as pilhas de implantação e seus benefícios gerais.

Nesta unidade, você aprenderá sobre os benefícios das pilhas de implantação.

Benefícios das pilhas de implantação

Há muitos benefícios que as pilhas de implantação podem adicionar ao seu processo de provisionamento de recursos, incluindo:

  • Provisionamento simplificado
  • Prevenção de alterações não autorizadas
  • Limpeza confiável de recursos
  • Modelos padronizados
  • Melhorar os processos existentes

Provisionamento simplificado

Considere um aplicativo que precisa ser implantado em vários grupos de recursos em várias assinaturas. Em uma implantação padrão, é necessário emitir várias operações de criação no escopo de cada grupo de recursos. Seu pipeline de implantação precisa ser projetado para lidar com dependências de recursos e sequência de implantação.

Com pilhas de implantação, você pode implantar o aplicativo com um único comando. Neste exemplo, ao definir o escopo da pilha de implantação no nível do grupo de gerenciamento, todos os recursos são implantados nas assinaturas e grupos de recursos apropriados no momento da execução. As atualizações do aplicativo são tratadas da mesma maneira, por meio de um único comando de implantação.

Esse processo reduz significativamente o número de operações necessárias para implantar ou modificar o aplicativo.

Prevenção de alterações não autorizadas

As pilhas de implantação fornecem uma camada extra de segurança e guarda-corpos que ajudam a impedir alterações não autorizadas em seus recursos do Azure.

Ao criar uma pilha de implantação, você pode especificar uma permissão que é aplicada aos recursos gerenciados pela pilha. Essas permissões, conhecidas como configurações de negação, são usadas para impedir a modificação ou exclusão de usuários não autorizados.

As configurações de negação podem soar semelhantes em conceito ao RBAC (controle de acesso baseado em função) do Azure e aos Bloqueios do Azure. O RBAC é usado para atribuir funções específicas a usuários específicos em um escopo específico. Por exemplo, atribuir a função de colaborador a um usuário no escopo do grupo de recursos. Os bloqueios são usados para impedir a modificação ou exclusão de recursos em escopos específicos, independentemente do usuário executar a ação. Por exemplo, colocar um bloqueio somente leitura no escopo da assinatura impede quaisquer modificações ou exclusões em todos os recursos, mesmo que o usuário tenha a permissão RBAC para fazê-lo.

As configurações de negação de pilha de implantação permitem implementar controles sobre uma coleção de recursos entre escopos, que substituem quaisquer atribuições ou bloqueios RBAC que possam estar em vigor.

Limpeza confiável de recursos

Considere um ambiente de desenvolvimento para um aplicativo que é implantado em vários grupos de recursos em uma assinatura. Para remover o ambiente e excluir todos os recursos, é necessário emitir várias operações de exclusão em relação aos grupos de recursos e recursos. Se existirem dependências entre recursos, é possível que a operação de exclusão falhe. Recursos excluídos fora de sequência também podem fazer com que a operação de exclusão falhe.

As pilhas de implantação permitem que você exclua a pilha e todos os seus recursos por meio de uma única chamada de API, sem a necessidade de entender as dependências. Esta única operação remove os recursos de forma confiável e melhora a velocidade de remoção.

Outra vantagem de excluir recursos gerenciados por uma pilha é o potencial de economia de custos. Excluir um aplicativo e seus recursos não gerenciados por uma pilha de implantação é muitas vezes um esforço manual propenso a erros. É possível esquecer acidentalmente de excluir certos recursos, que continuam a incorrer em custos. As pilhas de implantação resolvem esse problema atuando como uma ferramenta de gerenciamento de custos, especialmente quando se lida com ambientes efêmeros.

Ao excluir uma pilha de implantação, você pode usar a actionOnUnmanage propriedade para determinar como o Azure lida com os recursos, grupos de recursos e grupos de gerenciamento contidos na pilha. O Azure pode excluir os recursos, grupos de recursos e grupos de gerenciamento ou pode desanexá-los , o que significa que os recursos não são excluídos, mas não são mais gerenciados pela pilha.

Processo e modelos padronizados

Criar e implantar uma pilha de implantação e seus recursos é quase idêntico a uma implantação padrão do Azure. Por exemplo:

O comando da CLI do Azure para implantar um arquivo Bicep em um grupo de recursos é:

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

O comando da CLI do Azure para criar uma pilha de implantação no escopo do grupo de recursos é:

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

As pilhas de implantação suportam o uso de arquivos Bicep, modelos JSON ARM ou especificações de modelo para definir recursos em uma pilha. Ao implantar uma pilha de implantação usando a CLI do Azure ou o Azure PowerShell, você pode apontar para o arquivo de modelo específico (arquivo Bicep ou modelo JSON ARM) ou especificação de modelo. Não é necessário alterar a forma como define os seus recursos.

Melhorar os processos existentes

Se você já estiver usando a infraestrutura como código para gerenciar as implantações de seus recursos no Azure, as pilhas de implantação oferecem mais controle sobre o processo. Conforme discutido na seção anterior, o processo de criação de uma pilha de implantação não é muito diferente da criação de uma implantação baseada em grupo de recursos. A capacidade de implantar em grupos de gerenciamento, assinaturas e grupos de recursos com um único comando é muito mais simples com pilhas de implantação. A segurança de recursos agora faz parte do seu processo de implantação com pilhas.