Como criar e gerenciar recursos no Azure?
Esta é a quinta parte de uma série de 7 artigos para ajudar os desenvolvedores a começar a usar o Azure.
- Parte 1: Visão geral do Azure para desenvolvedores
- Parte 2: Principais serviços do Azure para desenvolvedores
- Parte 3: Hospedando aplicativos no Azure
- Parte 4: Conectar seu aplicativo aos serviços do Azure
- Parte 5: Como criar e gerenciar recursos no Azure?
- Parte 6: Principais conceitos para criar aplicativos do Azure
- Parte 7: Como sou cobrado?
O Azure fornece uma variedade de ferramentas para criar e gerenciar os recursos do Azure usados pelo seu aplicativo.
Diferentes ferramentas são projetadas para dar suporte a casos de uso diferentes, e a maioria dos desenvolvedores do Azure usa uma combinação de várias ferramentas, dependendo do trabalho que precisam executar. Por exemplo, é possível:
Use uma ferramenta de GUI como o portal do Azure ou a extensão Ferramentas do Azure para VS Code ao criar protótipos de recursos do Azure para um novo aplicativo. As ferramentas de GUI orientam você no processo de criação de novos serviços e permitem que você revise e selecione as opções de um serviço usando menus suspensos e outros elementos gráficos.
Escreva um script usando a CLI do Azure ou o Azure PowerShell para automatizar uma tarefa comum. Por exemplo, você pode criar um script que cria um ambiente de desenvolvimento básico para um novo aplicativo Web que consiste em um Serviço de Aplicativo do Azure, um banco de dados e um armazenamento de blobs. Escrever um script garante que os recursos sejam criados da mesma maneira todas as vezes e é mais rápido de executar do que clicar em uma interface do usuário.
Use ferramentas de IaC (infraestrutura como código) para implantar e gerenciar declarativamente os recursos do Azure. Ferramentas como Terraform, Ansible ou Bicep permitem codificar os recursos do Azure necessários para uma solução em sintaxe declarativa, garantindo a implantação consistente de recursos do Azure em ambientes e evitando descompassos ambientais.
Portal do Azure
O portal do Azure é uma interface da Web para gerenciar recursos do Azure, como aplicativos de API. Os recursos do portal do Azure:
- Uma interface do usuário baseada na Web fácil de usar para criar e gerenciar recursos do Azure
- A capacidade de criar painéis configuráveis
- Acesso a configurações de assinatura e informações de cobrança
Pacote de Extensão de Ferramentas do Azure para VS Code
Os desenvolvedores que usam o Visual Studio Code podem gerenciar recursos do Azure diretamente do VS Code usando o Pacote de Extensão de Ferramentas do Azure para VS Code. Ao usar o Pacote de Extensão de Ferramentas do Azure, você pode:
- Criar, gerenciar e implantar código em sites usando o Serviço de Aplicativo do Azure.
- Criar, procurar e consultar bancos de dados do Azure
- Criar, depurar, gerencie e implantar o Azure Functions diretamente do VS Code
- Implantar aplicativos conteinerizados do VS Code
Ferramentas de linha de comando
As ferramentas de linha de comando oferecem os benefícios de eficiência, repetibilidade e a capacidade de criar scripts de tarefas recorrentes. O Azure disponibiliza duas ferramentas de linha de comando diferentes. A CLI do Azure e o Azure PowerShell são funcionalmente equivalentes. Você só precisa selecionar e usar a ferramenta que melhor se adapta ao seu fluxo de trabalho individual.
CLI do Azure
A CLI do Azure é uma ferramenta de linha de comando multiplataforma executada no Windows, Linux e macOS. A CLI do Azure:
- Conta com uma sintaxe concisa e eficiente para gerenciar recursos do Azure.
- Gera resultados como JSON (por padrão). Os resultados também podem ser formatados como YAML, uma tabela ASCII ou valores separados por tabulação sem chaves.
- Possibilita consultar e formatar a saída por meio do uso de consultas JMESPath.
Os comandos da CLI do Azure são facilmente incorporados em linguagens de script populares, como o Bash, oferecendo a capacidade de criar scripts de tarefas comuns.
LOCATION='eastus'
RESOURCE_GROUP_NAME='msdocs-expressjs-mongodb-tutorial'
WEB_APP_NAME='msdocs-expressjs-mongodb-123'
APP_SERVICE_PLAN_NAME='msdocs-expressjs-mongodb-plan-123'
RUNTIME='NODE|14-lts'
# Create a resource group
az group create \
--location $LOCATION \
--name $RESOURCE_GROUP_NAME
# Create an app service plan
az appservice plan create \
--name $APP_SERVICE_PLAN_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--sku B1 \
--is-linux
# Create the web app in the app service
az webapp create \
--name $WEB_APP_NAME \
--runtime $RUNTIME \
--plan $APP_SERVICE_PLAN_NAME \
--resource-group $RESOURCE_GROUP_NAME
PowerShell do Azure
O Azure PowerShell é um conjunto de cmdlets para gerenciar recursos do Azure diretamente do PowerShell. O Azure PowerShell é instalado como um módulo PowerShelld e funciona com o PowerShell 7.0.6 LTS e o PowerShell 7.1.3 ou superior em todas as plataformas, incluindo Windows, macOS e Linux. Também é compatível com o Windows PowerShell 5.1.
O Azure PowerShell é totalmente integrado à linguagem do PowerShell. Os comandos seguem um formato verbo-substantivo e os dados são retornados como objetos do PowerShell. Se você já estiver familiarizado com os scripts do PowerShell, o Azure PowerShell é uma escolha natural.
$location = 'eastus'
$resourceGroupName = 'msdocs-blob-storage-demo-azps'
$storageAccountName = 'stblobstoragedemo999'
# Create a resource group
New-AzResourceGroup `
-Location $location `
-Name $resourceGroupName
# Create the storage account
New-AzStorageAccount `
-Name $storageAccountName `
-ResourceGroupName $resourceGroupName `
-Location $location `
-SkuName Standard_LRS
Para obter mais informações sobre como escolher entre a CLI do Azure e o Azure PowerShell, consulte o artigo Escolher a ferramenta de linha de comando certa.
Ferramentas de Infraestrutura como Código
Infraestrutura como Código é o processo de gerenciamento e provisionamento de recursos por meio de arquivos de configuração declarativos. As ferramentas de infraestrutura como código usam uma especificação de estado final declarativa para garantir que um conjunto de recursos seja criado e configurado da mesma maneira todas as vezes. Além disso, a maioria das ferramentas de infraestrutura como código monitora os recursos para garantir que eles permaneçam configurados no estado desejado.
Para implantações de infraestrutura automatizadas, repetidas e confiáveis, o Azure dá suporte a uma variedade de ferramentas de infraestrutura como código.
Bicep
O Bicep é um DSL (linguagem específica de domínio) que usa sintaxe declarativa para implantar recursos do Azure. Ele fornece sintaxe concisa, segurança de tipos confiável e suporte para reutilização de código.
param location string = resourceGroup().location
param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
Terraform
O Hashicorp Terraform é uma ferramenta de software livre para provisionar e gerenciar infraestruturas de nuvem. Ele codifica a infraestrutura em arquivos de configuração que descrevem a topologia dos recursos de nuvem. A CLI do Terraform fornece um mecanismo simples para implantar e controlar a versão de arquivos de configuração para o Azure.
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "main" {
name = "${var.prefix}-resources"
location = var.location
}
resource "azurerm_app_service_plan" "main" {
name = "${var.prefix}-asp"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
kind = "Linux"
reserved = true
sku {
tier = "Standard"
size = "S1"
}
}
resource "azurerm_app_service" "main" {
name = "${var.prefix}-appservice"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
app_service_plan_id = azurerm_app_service_plan.main.id
site_config {
linux_fx_version = "NODE|10.14"
}
}
Ansible
Ansible é um produto de código-fonte aberto que automatiza o provisionamento de nuvem, o gerenciamento de configurações e as implantações de aplicativos. Usando o Ansible você pode provisionar máquinas virtuais, contêineres e rede e completar infraestruturas de nuvem. Além disso, o Ansible permite que você automatize a implantação e a configuração de recursos em seu ambiente.
- hosts: localhost
connection: local
vars:
resource_group: myResourceGroup
webapp_name: myfirstWebApp
plan_name: myAppServicePlan
location: eastus
tasks:
- name: Create a resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create App Service on Linux with Java Runtime
azure_rm_webapp:
resource_group: "{{ resource_group }}"
name: "{{ webapp_name }}"
plan:
resource_group: "{{ resource_group }}"
name: "{{ plan_name }}"
is_linux: true
sku: S1
number_of_workers: 1
frameworks:
- name: "java"
version: "8"
settings:
java_container: tomcat
java_container_version: 8.5
SDK do Azure e APIs REST
Os recursos do Azure também podem ser criados programaticamente a partir do código. Isso permite que você escreva aplicativos que provisionam dinamicamente recursos do Azure em resposta às solicitações do usuário. O SDK do Azure fornece pacotes de gerenciamento de recursos em .NET, Go, Java, JavaScript e Python que permitem que os recursos do Azure sejam criados e gerenciados diretamente no código. Como alternativa, a API REST do Azure permite que os recursos do Azure sejam gerenciados por meio de solicitações HTTP para um ponto de extremidade RESTful.