Fala Pessoall! Td bem?

De vez em quando, (de quando em vez rsrsrs) eu tenho falado aqui sobre como o Powershell está me ajudando a automatizar minhas tarefas no Azure.

De uma maneira geral, tenho criado muitos scripts rápidos mas que no dia a dia, me ajuda e muito a não ter que utilizar o Portal. (Não que seja ruim, mas às vezes eu preciso ser rápido e prático).

Bom, a dica de hoje é: Como criar um Grupo de Recursos, usando o Powershell, de forma rápida!

Mas e aí? O QUE É GRUPO DE RECURSOS?

     Grupo de Recursos (ou Resource Group)

Todos sabemos que o Azure (assim como qualquer Cloud) é composto de diversos serviços e recursos, que podem ser utilizados por qualquer usuário ao redor do mundo.

Esses recursos podem ser Bancos de Dados, Máquinas Virtuais, Web Apps, Cofres de Backup e por aí vai.

                                                 

Quando surgiu a plataforma Microsoft Azure (2009/2010) , ela foi construída em cima de um “portal” (ou modelo de Cloud Services) mais conhecido como: Portal Classic (ou Azure Service Manager | ASM). A idéia da Microsoft, era se tornar com o tempo a melhor plataforma em nuvem do mercado, entregando soluções PaaS. (O que significa, que o usuário final, poderia abstrair inúmeras camadas, consumindo apenas a plataforma de uma maneira geral)

Porém, devido ao boom tecnológico (momento de transformação digital, o qual ainda estamos vivendo), a Microsoft entendeu (penso eu) que outros modelos (como IaaS e PaaS) também são extremamente competitivos e deveriam ser levados em consideração. (Uma vez que outros players, como AWS por exemplo, já estavam nadando de braçada nesses modelos com o EC2, etc.)

Com base nessa linha de raciocínio, ela resolveu fazer algo para que serviços de IaaS, pudessem ser entregues de uma maneira rápida, efetiva e claro: com praticidade e um custo competitivo.

Trocando em miúdos, a Microsoft mudou o modelo de trabalho e implantação para um novo modelo, agora já optimizado para trabalhar melhor com demandas IaaS e PaaS, o Azure Resource Manager (ARM)(Muita gente chama o Modelo Classic de v1 e o ARM de v2, isso é comum em literaturas e artigos técnicos.)

O modelo ARM, além de facilidade de um novo portal (muito mais bonito e usual), trouxe suporte à Templates JSON (onde eu posso passar parâmetros de toda minha infraestrutura, nesse arquivo declarativo, e subir no Azure com Powershell, e criar minha infra em minutos).

Porém, é importante lembrar que, um recurso que está no modelo ASM não “conversa’ com um recursos que esteja no modelo ARM.

Caso queiram entrar no quesito de arquitetura dos 2 modelos, sugiro ler um post do Evangelista Técnico da Microsoft Fabrício Sanchez, onde o mesmo explica muito bem a diferença entre os 2 modelos. (LINK)

Contudo, ficou complicado ter agrupamento de recursos no modelo Classic. Não existia nenhum fator que agregava os recursos. (Imagina a bagunça, caso sua infraestrutura cresça? Os elementos, além de estarem “espalhados” por sua subscription afora, seria inviável ou até mesmo impossível, agrupá-los.)

Para resolver essa questão a Microsoft (no modelo ARM) criou o: GRUPO DE RECURSOS (Resource Group). 

O que esse cara faz, é o agrupamento dos recursos (ele pode receber qualquer recurso do Azure, e “linká-los” facilmente, sendo a ponte entre os recursos de uma subscription). Ou seja, com isso eu ganhei mais versatilidade e gerenciamento de meus recursos, podendo usar um Grupo de Recursos, de acordo com localização, unidade de negócio ou qualquer outro uso que me for conveniente. (Arrumo a casa, da forma que eu achar mais conveniente)

Além do mais, eu posso ajustar o permissionamento de um usuário (RBAC), para todos os recursos dentro de um grupo de recursos, e não isoladamente um a um.

Pois beeeemmm!! Vamos colocar a mão na massa?

Criando seu primeiro Grupo de Recursos (Resource Group) 

[1] Faça o Login em Sua Assinatura Azure (Powershell)

[sourcecode language=”powershell”]Login-AzureRmAccount[/sourcecode] [2] No comando abaixo, iremos listar quais são as “locations” (localizações) disponíveis para criarmos nossos recursos.

(Guarde bem o nome da “location” que você deseja utilizar)

[sourcecode language=”powershell”]Get-AzureRmLocation | Select Location[/sourcecode] [3] Armazenaremos na variável $rg (não esqueça das aspas), o nome que daremos ao nosso grupo de recursos:

(Não utilize caracteres especiais. No máximo traço.)

[4] Armazenaremos na variável $loc , o nome da location (que já listamos anteriormente) onde o Resource Group deverá ser criado.

[sourcecode language=”powershell”]$loc="brazilsouth"[/sourcecode] [5] Munidos dos dados anteriores, iremos utilizá-los para criar nosso grupo de recursos no Azure com o seguinte comando:

[sourcecode language=”powershell”]New-AzureRmResourceGroup -Name $rg -Location $loc[/sourcecode]

+ Logs

Com o intuito de informação, podemos armazenar em um log.txt as configurações desse Grupo de Recurso que criamos.

[6] Crie um diretório de nome “azure_logs\resourcegroup” no c:.

[sourcecode language=”powershell”]

cd c:/

mkdir C:\azure_logs\resourcegroup

cd .\azure_logs\resourcegroup

[/sourcecode] [7] Armazene as informações desse grupo de recurso, utilizando o comando:

[sourcecode language=”powershell”]Get-AzureRmResourceGroup -Name $rg >> log.txt[/sourcecode]

E pronto! Nosso grupo de Recursos já foi criado, e já está disponível no Azure para utilização.

Simples?  Fácil? Rápido? (Deixe seu feedback!)

Nos próximos artigos (#Scriptando), irei falar mais sobre criação de recursos no Azure, usando o Powershell, e como estou fazendo para automatizar minha vida, e ganhar tempo!

Um bjo no coraçaõ de vocês!

Um Forte Abraço!

Gustavo Magella

#borapranuvem #cloud4all