Desmistificando o Azure Blueprints
O que é?
O Blueprints é uma maneira declarativa de orquestrar a implementação de vários modelos de recursos e outros artefatos, como:
- Atribuições de Funções
- Atribuições de Políticas
- Modelos do ARM (modelos do Azure Resource Manager)
- Grupos de recursos
Para o que serve?
O Blueprint serve para processar de maneira repetível, criar e atualizar seus recursos do Azure. Por exemplo, você deve criar código, como modelos do Azure resource Manager (ARM), para criar e atualizar seu ambiente. Quando você tem isso, você pode facilmente criar e destruir um ambiente, como um ambiente de desenvolvimento, que contém todos os tipos de recursos, como um Cosmos DB e alguns aplicativos Web.
Deste modo, usando modelos como esses, você garante que seus ambientes sejam sempre os mesmos e que possam ser criados e destruídos rapidamente, pois não exigem trabalho manual.
Além dos modelos ARM, você também deve automatizar a concessão e a revogação de direitos de acesso e a aplicação de políticas de conformidade nos recursos.
Tudo isso pode ser gerenciado com Azure Blueprint. Os Blueprints do Azure fornecem um mecanismo que permite criar e atualizar artefatos (como políticas e modelos ARM) e atribuí-los a ambientes e versioná-los. Com isso, você pode armazenar esses artefatos e gerenciar suas versões e relacioná-los aos ambientes.
Por exemplo, você pode ver que a versão 1.1 do blueprint do ambiente dev está implantada na subscrição xyz.
A seguir iremos mostrar como podemos usufruir dos benefícios que o Blueprint nos trás, o primeiro passo será:
1. Crie um novo Blueprint do Azure
O primeiro passo será navegarmos até o seguinte caminho:
Você poderá encontrar Blueprints também através do seguinte caminho:
All resources > Management and Governance > Blueprints
Em seguida vamos clicar na opção Create:
Em nosso laboratório optaremos por Blueprint em branco:
Depois de preencher todos os detalhes da definição do Blueprint, clique em Next: Artifacts.
Agora na tela a seguir você pode criar o conteúdo do Blueprint. Você pode adicionar os artefatos como atribuições de função , modelos ARM e políticas.
Para o nosso laboratório o nosso blueprint, conterá os seguintes artefatos:
- Resource Group
- Policy
- ARM Template
Uma vez definido nosso blueprint, salvar na opçao Save a draft.
2. Publicar e atribuir o Blueprint do Azure
Após clicarmos em nossa definição de Blueprint, agora iremos publicá-lo para que ele esteja apto a ser utilizado em nossa subscrição:
Para que possamos ter um melhor controle de versão, uma vez que os blueprints podem ser melhorados, ajustado, sugiro atribuir um número de versão.
Agora podemos atribuir o blueprint publicado a uma assinatura. Novamente, navegue até o blueprint no menu Blueprint Definitions
Em seguida Assign.
Feito todos os passos acima, o processo de assignment será efetuado com sucesso.
Em seguida iniciará o deployment de nossos artefatos:
ATENÇÃO
Caso use o ARM template abaixo para criar máquina virtual, certifique-se de dar acesso a identidade gerenciada do blueprint ao Key Vault através do Access Policy e também permissão a Identity na Subscrição caso seja necessário e também no usuário que criar no ARM Template, criar a Secret no Key Vault.
Finalmente, a implantação será concluída e os recursos serão implantados.
Os Blueprints do Azure apesar de ainda estarem em Preview, trata-se de uma excelente ferramenta que permite vincular as implantações a artefator de implantação. Permitindo você acompanhar o que está sendo implementado, versão do blueprint utilizado, esse processo pode ser automatizado também utilizando ferramentas como Azure Devops.
Espero que o conteúdo produzido possa de uma vez por todas ter mostrado quão pode ser simples a utilização de Azure Blueprints.
Abraços, até a próxima!