Condividi tramite


Ricerca per categorie creare e gestire le risorse in Azure?

Questa è la terza parte di una serie di 7 articoli che consentono agli sviluppatori di iniziare a usare Azure.

Azure offre un'ampia gamma di strumenti per creare e gestire le risorse di Azure usate dall'applicazione.

Diversi strumenti sono progettati per supportare casi d'uso diversi e la maggior parte degli sviluppatori di Azure usa una combinazione di strumenti diversi a seconda del processo che devono eseguire. 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 che le risorse vengano create allo stesso modo ogni volta ed è più veloce da eseguire rispetto al clic tramite un'interfaccia utente.

  • Usare gli strumenti IaC (Infrastructure as Code) per distribuire e gestire in modo dichiarativo le risorse di Azure. Gli strumenti come Terraform, Ansible o Bicep consentono di codificare le risorse di Azure necessarie per una soluzione nella sintassi dichiarativa, garantendo la distribuzione coerente delle risorse di Azure in 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 semplice da usare e basata sul Web per la creazione e la gestione delle risorse di Azure
  • Possibilità di creare dashboard configurabili
  • Accesso 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 possono gestire le risorse di Azure direttamente da VS Code usando azure Tools Extension Pack per VS Code. L'uso del Pacchetto di estensione Strumenti di Azure può:

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

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 i vantaggi dell'efficienza, della ripetibilità e della possibilità di creare script di attività ricorrenti. Azure offre due diversi strumenti da riga di comando tra cui scegliere. L'interfaccia della riga di comando di Azure e Azure PowerShell sono equivalenti a livello funzionale. È sufficiente selezionare e usare lo strumento più adatto al singolo flusso di lavoro.

Interfaccia della riga di comando di Azure

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 tramite l'uso di query JMESPath.

I comandi dell'interfaccia della riga di comando di Azure sono facilmente incorporati in linguaggi di scripting comuni, ad esempio Bash , che consentono di creare script per 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 è strettamente integrato con il linguaggio di PowerShell. I comandi seguono 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

Infrastruttura distribuita 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. Inoltre, la maggior parte dell'infrastruttura come strumenti di codice monitora le risorse per assicurarsi che rimangano configurate nello stato desiderato.

Per le distribuzioni dell'infrastruttura automatizzate, ripetute e affidabili, supporto tecnico di Azure un'ampia gamma di strumenti di infrastruttura come codice.

Bicep

Bicep è un linguaggio specifico di dominio (DSL) che usa la sintassi dichiarativa per distribuire le risorse di Azure. Offre sintassi concisa, indipendenza dai 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. L'interfaccia della riga di comando di Terraform offre un meccanismo semplice per distribuire e distribuire i file di configurazione della versione in 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. Tramite Ansible è possibile eseguire il provisioning di macchine virtuali, contenitori e reti, nonché completare le infrastrutture cloud. Inoltre, Ansible consente 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

È anche possibile creare risorse di Azure a livello di codice 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.