Gewusst wie Ressourcen in Azure erstellen und verwalten?

Azure bietet eine Vielzahl von Tools zum Erstellen und Verwalten der von Ihrer Anwendung verwendeten Azure-Ressourcen.

Verschiedene Tools sind für die Unterstützung verschiedener Anwendungsfälle konzipiert, und die meisten Azure-Entwickler verwenden eine Kombination verschiedener Tools, je nachdem, welche Aufgabe sie ausführen müssen. Sie können z. B.:

  • Verwenden Sie ein GUI-Tool wie das Azure-Portal oder die Azure Tools-Erweiterung für VS Code, wenn Azure-Ressourcen für eine neue Anwendung prototypiert werden. GUI-Tools führen Sie durch den Prozess der Erstellung neuer Dienste und ermöglichen Es Ihnen, die Optionen für einen Dienst mithilfe von Dropdownmenüs und anderen grafischen Elementen zu überprüfen und auszuwählen.

  • Schreiben Sie ein Skript mithilfe der Azure CLI oder Azure PowerShell , um eine gemeinsame Aufgabe zu automatisieren. Sie können z. B. ein Skript erstellen, das eine grundlegende Entwicklungsumgebung für eine neue Webanwendung erstellt, die aus einem Azure-App Dienst, einer Datenbank und einem BLOB-Speicher besteht. Durch das Schreiben eines Skripts wird sichergestellt, dass die Ressourcen jedes Mal auf die gleiche Weise erstellt werden und schneller ausgeführt werden können als durch Klicken auf eine Benutzeroberfläche.

  • Verwenden Sie Infrastructure as Code (IaC)-Tools, um Azure-Ressourcen deklarativ bereitzustellen und zu verwalten. Mit Tools wie Terraform, Ansible oder Bicep können Sie die azure-Ressourcen codieren, die für eine Lösung in deklarativer Syntax erforderlich sind, um die konsistente Bereitstellung von Azure-Ressourcen über Umgebungen hinweg sicherzustellen und Umweltabweichungen zu verhindern.

Azure-Portal

Die Azure-Portal ist eine webbasierte Schnittstelle zum Verwalten von Azure-Ressourcen. Die Azure-Portal Features:

  • Eine benutzerfreundliche, webbasierte Benutzeroberfläche zum Erstellen und Verwalten von Azure-Ressourcen
  • Die Möglichkeit zum Erstellen konfigurierbarer Dashboards
  • Zugriff auf die Abonnementeinstellungen und Abrechnungsinformationen

A screenshot showing the Azure portal.

VS Code Azure Tools Extension Pack

Entwickler, die Visual Studio Code verwenden, können Azure-Ressourcen direkt aus VS Code mithilfe des Azure Tools Extension Pack für VS Code verwalten. Die Verwendung des Azure Tools-Erweiterungspakets kann folgende Aktionen ausführen:

  • Erstellen, Verwalten und Bereitstellen von Code auf Websites mithilfe von Azure-App Dienst.
  • Erstellen, Durchsuchen und Abfragen von Azure-Datenbanken
  • Erstellen, Debuggen und Bereitstellen von Azure Functions direkt aus VS Code
  • Bereitstellen von containerisierten Anwendungen aus VS Code

A screenshot showing Visual Studio Code with the Azure Tools extension pack installed.

Befehlszeilentools

Befehlszeilentools bieten die Vorteile der Effizienz, Wiederholbarkeit und der Möglichkeit, wiederkehrende Aufgaben zu skripten. Azure bietet zwei verschiedene Befehlszeilentools, aus denen Sie auswählen können. Die Azure CLI und Azure PowerShell sind funktional gleichwertig. Sie müssen nur das Tool auswählen und verwenden, das am besten zu Ihrem individuellen Workflow passt.

Azure CLI

Die Azure CLI ist ein plattformübergreifendes Befehlszeilentool, das unter Windows, Linux und macOS ausgeführt wird. Die Azure CLI:

  • Bietet eine präzise, effiziente Syntax für die Verwaltung von Azure-Ressourcen.
  • Gibt Ergebnisse als JSON (standardmäßig) aus. Ergebnisse können auch als YAML, eine ASCII-Tabelle oder tabstopptrennte Werte ohne Schlüssel formatiert werden.
  • Bietet die Möglichkeit, die Ausgabe von JMESPath-Abfragen abzufragen und zu gestalten.

Azure CLI-Befehle sind einfach in beliebte Skriptsprachen wie Bash integriert, sodass Sie allgemeine Aufgaben skripten können.

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 ist eine Reihe von Cmdlets zum direkten Verwalten von Azure-Ressourcen über PowerShell. Azure PowerShell ist als PowerShell-Modul installiert und funktioniert mit PowerShell 7.0.6 LTS und PowerShell 7.1.3 oder höher auf allen Plattformen, einschließlich Windows, macOS und Linux. Es ist auch mit Windows PowerShell 5.1 kompatibel.

Azure PowerShell ist eng in die PowerShell-Sprache integriert. Befehle folgen einem Verben-Substantivformat, und Daten werden als PowerShell-Objekte zurückgegeben. Wenn Sie bereits mit der PowerShell-Skripterstellung vertraut sind, ist Azure PowerShell eine natürliche Wahl.

$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

Weitere Informationen zur Auswahl zwischen Azure CLI und Azure PowerShell finden Sie im Artikel "Auswählen des richtigen Befehlszeilentools".

Infrastruktur als Codetools

Infrastruktur als Code ist der Prozess der Verwaltung und Bereitstellung von Ressourcen über deklarative Konfigurationsdateien. Infrastruktur als Codetools verwenden eine deklarative Endzustandsspezifikation, um sicherzustellen, dass jedes Mal eine Gruppe von Ressourcen erstellt und konfiguriert wird. Darüber hinaus überwachen die meisten Infrastrukturtools Ressourcen, um sicherzustellen, dass sie im gewünschten Zustand konfiguriert sind Standard.

Für Infrastrukturbereitstellungen, die automatisiert, wiederholt und zuverlässig sind, Azure-Support eine Vielzahl von Infrastruktur als Codetools.

Bicep

Bicep ist eine domänenspezifische Sprache (Domain-Specific Language, DSL), die eine deklarative Syntax zur Bereitstellung von Azure-Ressourcen verwendet. Sie bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code.

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 ist ein Open Source-Tool für die Bereitstellung und Verwaltung von Cloudinfrastrukturen. Die Infrastruktur in Konfigurationsdateien, die die Topologie von Cloudressourcen beschreiben, wird kodifiziert. Die Terraform CLI bietet einen einfachen Mechanismus zum Bereitstellen und Versionskonfigurationsdateien 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 ist ein Open-Source-Produkt, mit dem die Cloudbereitstellung, Konfigurationsverwaltung und Anwendungsbereitstellungen automatisiert werden können. Mit Ansible können Sie virtuelle Computer, Container und Netzwerkumgebungen sowie auch vollständige Cloudinfrastrukturen bereitstellen. Ansible ermöglicht außerdem die Automatisierung der Bereitstellung und Konfiguration von Ressourcen in Ihrer Umgebung.

- 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- und REST-APIs

Azure-Ressourcen können auch programmgesteuert über Code erstellt werden. Auf diese Weise können Sie Anwendungen schreiben, die Azure-Ressourcen dynamisch als Reaktion auf Benutzeranforderungen bereitstellen. Das Azure SDK bietet Ressourcenverwaltungspakete in .NET, Go, JavaScript, JavaScript und Python, mit denen Azure-Ressourcen direkt im Code erstellt und verwaltet werden können. Alternativ kann die Azure REST-API Azure-Ressourcen über HTTP-Anforderungen an einen RESTful-Endpunkt verwaltet werden.