Descrever o Azure Resource Manager e os modelos do Azure ARM
O Azure Resource Manager (ARM) é o serviço de implantação e gerenciamento do Azure. Fornece uma camada de gestão que lhe permite criar, atualizar e eliminar recursos na sua conta do Azure. Sempre que você faz qualquer coisa com seus recursos do Azure, o ARM está 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. A 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, pode:
- Gerir a sua infraestrutura através de modelos declarativos, em vez de scripts. Um modelo do Resource Manager é um ficheiro JSON que define o que pretende implementar no Azure.
- Implemente, faça a gestão e monitorize todos os recursos da sua solução como grupo, em vez de processar esses recursos individualmente.
- Reimplante sua solução durante todo o ciclo de vida do desenvolvimento e tenha confiança de que seus recursos serão implantados em um estado consistente.
- Defina as dependências entre recursos, para que eles sejam implantados na ordem correta.
- Aplique o controlo de acesso a todos os serviços, porque o RBAC está nativamente integrado na plataforma de gestão.
- Aplique etiquetas a recursos para organizar logicamente todos os recursos na sua subscrição.
- Clarifique a faturação da sua organização ao ver os custos de um grupo de recursos com a mesma etiqueta.
O vídeo a seguir fornece uma visão geral do Azure Resource Manager.
Infraestrutura como código
Infraestrutura como código é um conceito onde você gerencia sua infraestrutura como linhas de código. Em um nível introdutório, são coisas como usar o Azure Cloud Shell, o Azure PowerShell ou a CLI do Azure para gerenciar e configurar seus recursos. À medida que você se sente 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 ARM e o Bicep são dois exemplos de utilização da infraestrutura como código com o Azure Resource Manager para manter o seu ambiente.
Modelos do ARM
Usando modelos ARM, você pode descrever os recursos que deseja usar em um formato JSON declarativo. Com um modelo ARM, o código de implantação é verificado antes de qualquer código ser executado. Isso garante que os recursos serão criados e conectados corretamente. Em seguida, o modelo orquestra a criação desses recursos em paralelo. Ou seja, se precisar de 50 instâncias do mesmo recurso, essas 50 instâncias são criadas ao mesmo tempo.
Em última análise, os programadores ou profissionais de DevOps ou TI só têm de definir o estado pretendido e a configuração de cada recurso no modelo do ARM, o qual trata do resto. Os modelos até podem executar scripts do PowerShell e do Bash antes ou depois de o recurso ter sido configurado.
Benefícios da utilização de modelos do Resource Manager
Os modelos ARM fornecem muitos benefícios ao planejar a implantação de recursos do Azure. Alguns desses benefícios incluem:
- Sintaxe declarativa: os modelos ARM permitem criar e implantar uma infraestrutura inteira do Azure declarativamente. Sintaxe declarativa significa que você declara o que deseja implantar, mas não precisa escrever os comandos de programação reais e a sequência para implantar os recursos.
- Resultados repetíveis: implante repetidamente sua infraestrutura durante todo o ciclo de vida de desenvolvimento e tenha confiança de que seus recursos serão implantados de maneira consistente. Você pode usar o mesmo modelo 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 das operações de ordenação. O Azure Resource Manager orquestra a implantação de recursos interdependentes, para que eles 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 seriais. Você implanta o modelo por meio de um comando, em vez de vários comandos imperativos.
- Arquivos modulares: você pode dividir seus modelos em componentes menores e reutilizáveis e vinculá-los 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 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 fonte externa e referenciado no modelo. Os scripts de implantação oferecem a capacidade de concluir a configuração completa do ambiente em um único modelo ARM.
Bicep
Bicep é uma linguagem 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 suporta imediatamente todas as versões de visualização 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 em seu arquivo Bicep. Você não precisa esperar que as ferramentas sejam atualizadas antes de usar os novos serviços.
- Sintaxe simples: Quando comparados ao modelo JSON equivalente, os arquivos Bicep são mais concisos e fáceis de ler. Bicep não requer conhecimento prévio de linguagens de programação. A sintaxe do bíceps é declarativa e especifica quais recursos e propriedades de recursos você deseja implantar.
- Resultados repetíveis: implante repetidamente sua infraestrutura durante todo o ciclo de vida de desenvolvimento e tenha confiança de que seus recursos serã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 das operações de ordenação. O Resource Manager orquestra a implantação de recursos interdependentes para que eles 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 seriais. 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.