Desmistificando o Azure Blueprints

O que é?

Thiago Pontes
5 min readMar 17, 2022

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:

Na caixa de pesquisa, procurar por Blueprint.

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.

Esse seriam os artefatos que poderiamos utilizar em nosso blueprint.

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!

--

--

Thiago Pontes

Graduado em Redes de Computadores e pós-graduado em Gestão de TI, atuo como Gerente Cloud.