Compartir a través de


¿Cómo se crean y administran recursos en Azure

Este artículo forma parte cinco de una serie de siete artículos que ayudan a los desarrolladores a empezar a trabajar con Azure.

Azure ofrece varias herramientas para crear y administrar los recursos utilizados por su aplicación.

Las distintas herramientas admiten varios casos de uso y la mayoría de los desarrolladores de Azure usan una combinación de herramientas en función del trabajo. Por ejemplo, es posible que:

  • Use una herramienta de GUI como Azure Portal o la extensión de Azure Tools para VS Code al crear prototipos de recursos de Azure para una nueva aplicación. Las herramientas de GUI le guían a través del proceso de creación de nuevos servicios y le permiten revisar y seleccionar las opciones de un servicio mediante menús desplegables y otros elementos gráficos.

  • Escriba un script mediante la CLI de Azure o Azure PowerShell para automatizar una tarea común. Por ejemplo, puede crear un script que cree un entorno de desarrollo básico para una nueva aplicación web que conste de una instancia de Azure App Service, una base de datos y un Blob Storage. Escribir un script garantiza una creación de recursos coherente y es más rápida que el uso de una interfaz de usuario.

  • Use herramientas de infraestructura como código (IaC) para implementar y administrar recursos de Azure mediante declaración. Las herramientas como Terraform, Ansible y Bicep permiten codificar los recursos de Azure en sintaxis declarativa, lo que garantiza una implementación coherente entre entornos y evita el desfase ambiental.

Azure portal

Azure Portal es una interfaz basada en web diseñada para administrar recursos de Azure. Características de Azure Portal:

  • Una interfaz de usuario fácil de usar y basada en web para crear y administrar recursos de Azure
  • Creación de paneles configurables
  • Acceso a la configuración de la suscripción y a la información de facturación

A screenshot showing the Azure portal.Captura de pantalla que muestra Azure Portal.

Paquete de extensión de Azure Tools de VS Code

Los desarrolladores que usan Visual Studio Code administran recursos de Azure directamente en VS Code con el paquete de extensiones de Herramientas de Azure para VS Code. El paquete de extensiones de Herramientas de Azure le permite:

  • Creación, administración e implementación de código en sitios web con Azure App Service
  • Crear, explorar y consultar bases de datos de Azure
  • Creación, depuración e implementación de Azure Functions directamente en VS Code
  • Implementación de aplicaciones en contenedor en VS Code

Para obtener la lista completa de características, consulte la página de descarga de la extensión.

A screenshot showing Visual Studio Code with the Azure Tools extension pack installed.Captura de pantalla que muestra Visual Studio Code con el paquete de extensión Azure Tools instalado.

Herramientas de línea de comandos

Las herramientas de línea de comandos ofrecen eficacia, repetibilidad y capacidad para generar scripts de tareas periódicas. Azure proporciona dos herramientas de línea de comandos: cli de Azure y Azure PowerShell. Ambas herramientas son funcionalmente equivalentes, por lo que seleccione la que se ajuste al flujo de trabajo.

CLI de Azure

La CLI de Azure es una herramienta de línea de comandos multiplataforma que se ejecuta en Windows, Linux y macOS. La CLI de Azure:

  • Características de una sintaxis concisa y eficaz para administrar recursos de Azure
  • Genera resultados como JSON (de forma predeterminada). Los resultados también se pueden formatear como YAML, una tabla ASCII o valores separados por tabulación sin claves.
  • Proporciona la capacidad de consultar y dar forma a la salida mediante consultas JMESPath.

Los comandos de la CLI de Azure se integran fácilmente en lenguajes de scripting populares como Bash, lo que le permite crear scripts de tareas comunes.

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 es un conjunto de cmdlets para administrar los recursos de Azure directamente desde PowerShell. Azure PowerShell se instala como un módulo de PowerShell y funciona con PowerShell 7.0.6 LTS, PowerShell 7.1.3 y versiones posteriores en todas las plataformas, como Windows, macOS y Linux. También es compatible con Windows PowerShell 5.1.

Azure PowerShell se integra estrechamente con el lenguaje de PowerShell. Los comandos usan un formato verbo-sustantivo y los datos se devuelven como objetos de PowerShell. Si ya está familiarizado con el scripting de PowerShell, Azure PowerShell es una opción 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 obtener más información sobre cómo elegir entre la CLI de Azure y Azure PowerShell, consulte el artículo Elección de la herramienta de línea de comandos correcta.

Infraestructura como herramientas de código

La infraestructura como código es el proceso de administración y aprovisionamiento de recursos mediante archivos de configuración declarativos. Las herramientas de infraestructura como código usan una especificación de estado final declarativo para garantizar que se crea y configura un conjunto de recursos de la misma manera cada vez. La mayoría de las herramientas de infraestructura como código también supervisan los recursos para asegurarse de que se mantengan configurados en el estado deseado.

Azure admite varias infraestructuras como herramientas de código para implementaciones automatizadas, repetidas y confiables.

Bicep

Bicep es un lenguaje específico de dominio (DSL) que usa una sintaxis declarativa para implementar recursos de Azure. Brinda sintaxis concisa, seguridad de tipos confiable y compatibilidad con la reutilización 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

Hashicorp Terraform es una herramienta de código abierto para aprovisionar y administrar la infraestructura de nube. Programa la infraestructura en archivos de configuración que describen la topología de los recursos en la nube. La CLI de Terraform proporciona un mecanismo sencillo para implementar y versionar los archivos de configuración en 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 es un producto de código abierto que automatiza el aprovisionamiento en la nube, la administración de configuración y las implementaciones de aplicaciones. Con Ansible, puede aprovisionar máquinas virtuales, contenedores, redes y infraestructuras en la nube completas. Ansible también le permite automatizar la implementación y configuración de recursos en su entorno.

- 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 de Azure y API REST

Los recursos de Azure se pueden crear mediante programación a partir del código. Esto le permite escribir aplicaciones que aprovisionan dinámicamente recursos de Azure en respuesta a las solicitudes de usuario. El SDK de Azure proporciona paquetes de administración de recursos en .NET, Go, Java, JavaScript y Python que le permiten crear y administrar recursos de Azure directamente en el código. Como alternativa, la API REST de Azure le permite administrar recursos de Azure a través de solicitudes HTTP a un punto de conexión RESTful.