Condividi tramite


Come posso creare e gestire le risorse in Azure?

Questo articolo è la terza parte di una serie di sette articoli che consentono agli sviluppatori di iniziare a usare Azure.

Azure offre vari strumenti per creare e gestire le risorse usate dall'applicazione.

Diversi strumenti supportano vari casi d'uso e la maggior parte degli sviluppatori di Azure usa una combinazione di strumenti a seconda del processo. Ad esempio, è possibile:

  • Usare uno strumento gui come il portale di Azure o l'estensione Strumenti di Azure per VS Code durante la creazione di prototipi di risorse di Azure per una nuova applicazione. Gli strumenti dell'interfaccia utente grafica illustrano il processo di creazione di nuovi servizi e consentono di esaminare e selezionare le opzioni per un servizio tramite menu a discesa e altri elementi grafici.

  • Scrivere uno script usando l'interfaccia della riga di comando di Azure o Azure PowerShell per automatizzare un'attività comune. Ad esempio, è possibile creare uno script che crea un ambiente di sviluppo di base per una nuova applicazione Web costituita da un servizio app Azure, un database e un archivio BLOB. La scrittura di uno script garantisce una creazione coerente delle risorse ed è più veloce rispetto all'uso di un'interfaccia utente.

  • Usare gli strumenti IaC (Infrastructure as code) per distribuire e gestire in modo dichiarativo le risorse di Azure. Strumenti come Terraform, Ansible e Bicep consentono di codificare le risorse di Azure nella sintassi dichiarativa, garantendo una distribuzione coerente tra gli ambienti e impedendo la deriva ambientale.

Portale di Azure

Il portale di Azure è un'interfaccia basata sul Web progettata per la gestione delle risorse di Azure. Le funzionalità di portale di Azure:

  • Interfaccia utente facile da usare e basata sul Web per la creazione e la gestione delle risorse di Azure
  • Creare dashboard configurabili
  • Accedere alle impostazioni della sottoscrizione e alle informazioni di fatturazione

Screenshot che mostra il portale di Azure.

VS Code Azure Tools Extension Pack

Gli sviluppatori che usano Visual Studio Code gestiscono le risorse di Azure direttamente in VS Code con azure Tools Extension Pack per VS Code. Azure Tools Extension Pack consente di:

  • Creare, gestire e distribuire il codice nei siti Web con il servizio app di Azure
  • Creare, esplorare ed eseguire query sui database di Azure
  • Creare, eseguire il debug e distribuire Funzioni di Azure direttamente in VS Code
  • Distribuire applicazioni in contenitori in VS Code

Per l'elenco completo delle funzionalità, vedere la pagina di download dell'estensione.

Screenshot che mostra Visual Studio Code con il pacchetto di estensione Strumenti di Azure installato.

Strumenti da riga di comando

Gli strumenti da riga di comando offrono efficienza, ripetibilità e possibilità di creare script di attività ricorrenti. Azure offre due strumenti da riga di comando: l'interfaccia della riga di comando di Azure e Azure PowerShell. Entrambi gli strumenti sono equivalenti a livello funzionale, quindi selezionare quello adatto al flusso di lavoro.

Azure CLI

L'interfaccia della riga di comando di Azure è uno strumento da riga di comando multipiattaforma eseguito in Windows, Linux e macOS. L’interfaccia della riga di comando di Azure:

  • Offre una sintassi concisa ed efficiente per la gestione delle risorse di Azure
  • Restituisce i risultati come JSON (per impostazione predefinita). I risultati possono anche essere formattati come YAML, una tabella ASCII o valori separati da tabulazioni senza chiavi
  • Consente di eseguire query e modellare l'output usando query JMESPath

I comandi dell'interfaccia della riga di comando di Azure si integrano facilmente in linguaggi di scripting comuni come Bash, consentendo di creare script di attività comuni.

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 

Azure PowerShell

Azure PowerShell è costituito da un set di cmdlet per la gestione delle risorse di Azure direttamente da PowerShell. Azure PowerShell viene installato come modulo di PowerShell e funziona con PowerShell 7.0.6 LTS e PowerShell 7.1.3 o versione successiva in tutte le piattaforme, tra cui Windows, macOS e Linux. È anche compatibile con Windows PowerShell 5.1.

Azure PowerShell si integra strettamente con il linguaggio di PowerShell. I comandi usano un formato verbo-sostantivo e i dati vengono restituiti come oggetti di PowerShell. Se si ha già familiarità con lo scripting di PowerShell, Azure PowerShell è una scelta naturale.

$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

Per altre informazioni sulla scelta tra l'interfaccia della riga di comando di Azure e Azure PowerShell, vedere l'articolo Scegliere lo strumento da riga di comando corretto.

Infrastruttura come strumenti di codice

L'infrastruttura come codice è il processo di gestione e provisioning delle risorse tramite file di configurazione dichiarativi. L'infrastruttura come strumenti di codice usa una specifica di stato finale dichiarativo per garantire che un set di risorse venga creato e configurato allo stesso modo ogni volta. La maggior parte degli strumenti di infrastruttura come codice monitora anche le risorse per assicurarsi che esse rimangano configurate nello stato desiderato.

Azure supporta varie infrastrutture come strumenti di codice per distribuzioni automatizzate, ripetute e affidabili.

Bicipite

Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. Offre sintassi concisa, sicurezza dei tipi affidabile e supporto per il riutilizzo del codice.

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

Hashicorp Terraform è uno strumento open source per il provisioning e la gestione dell'infrastruttura cloud. Codifica l'infrastruttura nei file di configurazione che descrivono la topologia delle risorse cloud. La CLI di Terraform offre un meccanismo semplice per distribuire e versionare i file di configurazione su 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 è un prodotto open source che consente di automatizzare il provisioning cloud, la gestione della configurazione e le distribuzioni di applicazioni. Con Ansible è possibile effettuare il provisioning di macchine virtuali, contenitori, reti e infrastrutture cloud complete. Ansible consente anche di automatizzare la distribuzione e la configurazione delle risorse nell'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

AZURE SDK e API REST

Le risorse di Azure possono essere create programmaticamente dal codice. In questo modo è possibile scrivere applicazioni che effettuano il provisioning dinamico delle risorse di Azure in risposta alle richieste degli utenti. Azure SDK fornisce pacchetti di gestione delle risorse in .NET, Go, Java, JavaScript e Python che consentono di creare e gestire le risorse di Azure direttamente nel codice. In alternativa, l'API REST di Azure consente di gestire le risorse di Azure tramite richieste HTTP a un endpoint RESTful.