Descrever o Azure Resource Manager e os modelos ARM do Azure
O ARM (Azure Resource Manager) é o serviço de implantação e gerenciamento do Azure. Ele fornece uma camada de gerenciamento que permite que você crie, atualize e exclua recursos em sua conta do Azure. Sempre que você fizer qualquer coisa com seus recursos do Azure, o ARM estará envolvido.
Quando um usuário envia uma solicitação de qualquer uma das ferramentas, APIs ou SDKs do Azure, o ARM recebe a solicitação. O ARM autentica e autoriza a solicitação. Em seguida, o ARM envia a solicitação para o serviço do Azure, que executa a ação solicitada. Você vê resultados e recursos consistentes em todas as diferentes ferramentas porque todas as solicitações são tratadas por meio da mesma API.
Benefícios do Azure Resource Manager
Com o Azure Resource Manager, você pode:
- Gerencie sua infraestrutura por meio de modelos declarativos em vez de scripts. Um modelo do Resource Manager é um arquivo JSON que define o que você deseja implantar no Azure.
- Implante, gerencie e monitore todos os recursos para sua solução como um grupo, em vez de lidar com esses recursos individualmente.
- Implante novamente sua solução ao longo do ciclo de vida de desenvolvimento e tenha a certeza de que seus recursos são implantados em um estado consistente.
- Defina as dependências entre os recursos para que eles sejam implantados na ordem correta.
- Aplique o controle de acesso a todos os serviços porque o RBAC é integrado nativamente à plataforma de gerenciamento.
- Aplique marcas aos recursos para organizar logicamente todos os recursos em sua assinatura.
- Esclareça a cobrança da sua organização exibindo os custos de um grupo de recursos que compartilham a mesma marca.
O vídeo a seguir fornece uma visão geral do Azure Resource Manager.
Infraestrutura como código
A infraestrutura como código é um conceito em que você gerencia sua infraestrutura como linhas de código. Em um nível introdutório, é como usar o Azure Cloud Shell, o Azure PowerShell ou a CLI do Azure para gerenciar e configurar seus recursos. À medida que você fica mais confortável na nuvem, você pode usar a infraestrutura como conceito de código para gerenciar implantações inteiras usando modelos e configurações repetíveis. Os modelos do ARM e o Bicep são dois exemplos de como usar a infraestrutura como código com o Azure Resource Manager para manter seu ambiente.
Modelos do ARM
Usando modelos do ARM, você pode descrever os recursos que deseja usar em um formato JSON declarativo. Com um modelo do ARM, o código de implantação é verificado antes de qualquer código ser executado. Isso garante que os recursos sejam criados e conectados corretamente. Em seguida, o modelo orquestra a criação desses recursos em paralelo. Ou seja, se você precisar de 50 instâncias do mesmo recurso, todas as 50 instâncias serão criadas ao mesmo tempo.
Por fim, o desenvolvedor, o profissional de DevOps ou o profissional de TI só precisa definir o estado e a configuração desejados de cada recurso no modelo do ARM, e o modelo faz o restante. Os modelos podem até mesmo executar scripts do PowerShell e bash antes ou depois de o recurso ter sido configurado.
Benefícios de usar modelos do ARM
Os modelos do ARM oferecem muitos benefícios ao planejar a implantação de recursos do Azure. Alguns desses benefícios incluem:
- Sintaxe declarativa: Os modelos do ARM permitem criar e implantar toda uma infraestrutura do Azure de forma declarativa. A sintaxe declarativa significa que você declara o que deseja implantar, mas não precisa escrever os comandos de programação e a sequência reais para implantar os recursos.
- Resultados repetíveis: implante repetidamente sua infraestrutura em todo o ciclo de vida de desenvolvimento e tenha confiança de que seus recursos são implantados de maneira consistente. Você pode usar o mesmo modelo do ARM para implantar vários ambientes de desenvolvimento/teste, sabendo que todos os ambientes são iguais.
- Orquestração: Você não precisa se preocupar com as complexidades do ordenamento das operações. O Azure Resource Manager orquestra a implantação de recursos interdependentes para que sejam criados na ordem correta. Quando possível, o Azure Resource Manager implanta recursos em paralelo, para que suas implantações sejam concluídas mais rapidamente do que as implantações serial. Você implanta o modelo por meio de um comando, em vez de por meio de vários comandos imperativos.
- Arquivos modulares: você pode dividir seus modelos em componentes menores e reutilizáveis e vinculá-los juntos no momento da implantação. Você também pode aninhar um modelo dentro de outro modelo. Por exemplo, você pode criar um modelo para uma pilha de VM e, em seguida, aninhar esse modelo dentro de modelos que implantam ambientes inteiros e essa pilha de VM será implantada consistentemente em cada um dos modelos de ambiente.
- Extensibilidade: Com scripts de implantação, você pode adicionar scripts do PowerShell ou Bash aos seus modelos. Os scripts de implantação estendem sua capacidade de configurar recursos durante a implantação. Um script pode ser incluído no modelo ou armazenado em uma origem externa e referenciado no modelo. Os scripts de implantação oferecem a capacidade de concluir sua configuração de ambiente de ponta a ponta em um único modelo do ARM.
Bíceps
O Bicep é um idioma que usa sintaxe declarativa para implantar recursos do Azure. Um arquivo Bicep define a infraestrutura e a configuração. Em seguida, o ARM implanta esse ambiente com base no arquivo Bicep. Embora semelhante a um modelo arm, que é escrito em JSON, os arquivos Bicep tendem a usar um estilo mais simples e conciso.
Alguns benefícios do Bicep são:
- suporte para todos os tipos de recursos e versões de API: o Bicep dá suporte imediatamente a todas as versões de versão prévia e GA para serviços do Azure. Assim que um provedor de recursos introduzir novos tipos de recursos e versões de API, você poderá usá-los no seu arquivo Bicep. Você não precisa esperar que as ferramentas sejam atualizadas antes de usar os novos serviços.
- Sintaxe simples: quando comparados com o modelo JSON equivalente, os arquivos Bicep são mais concisos e fáceis de ler. O Bicep não requer nenhum conhecimento anterior sobre linguagens de programação. A sintaxe Bicep é declarativa e especifica quais recursos e propriedades de recurso você deseja implantar.
- Resultados repetíveis: implante repetidamente sua infraestrutura em todo o ciclo de vida de desenvolvimento e tenha confiança de que seus recursos são implantados de maneira consistente. Os arquivos Bicep são idempotentes, o que significa que você pode implantar o mesmo arquivo muitas vezes e obter os mesmos tipos de recursos no mesmo estado. Você pode desenvolver um arquivo que representa o estado desejado, em vez de desenvolver muitos arquivos separados para representar atualizações.
- Orquestração: Você não precisa se preocupar com as complexidades do ordenamento das operações. O Resource Manager orquestra a implantação de recursos interdependentes para que sejam criados na ordem correta. Quando possível, o Resource Manager implanta recursos em paralelo para que suas implantações sejam concluídas mais rapidamente do que as implantações serial. Você implanta o arquivo por meio de um comando, em vez de vários comandos imperativos.
- Modularidade: Você pode dividir seu código Bicep em partes gerenciáveis usando módulos. O módulo implanta um conjunto de recursos relacionados. Os módulos permitem reutilizar o código e simplificar o desenvolvimento. Adicione o módulo a um arquivo Bicep sempre que precisar implantar esses recursos.