Hoe kan ik resources maken en beheren in Azure?
Dit is deel vijf in een reeks van 7 artikelen om ontwikkelaars te helpen aan de slag te gaan met Azure.
- Deel 1: Overzicht van Azure voor ontwikkelaars
- Deel 2: Belangrijke Azure-services voor ontwikkelaars
- Deel 3: Toepassingen hosten in Azure
- Deel 4: Uw app verbinden met Azure-services
- Deel 5: Hoe kan ik resources maken en beheren in Azure?
- Deel 6: Belangrijke concepten voor het bouwen van Azure-apps
- Deel 7: Hoe word ik gefactureerd?
Azure biedt diverse hulpprogramma's voor het maken en beheren van de Azure-resources die door uw toepassing worden gebruikt.
Verschillende hulpprogramma's zijn ontworpen ter ondersteuning van verschillende use cases en de meeste Azure-ontwikkelaars gebruiken een combinatie van verschillende hulpprogramma's, afhankelijk van de taak die ze moeten uitvoeren. U kunt bijvoorbeeld het volgende doen:
Gebruik een GUI-hulpprogramma zoals Azure Portal of de Azure Tools-extensie voor VS Code bij het maken van prototypen van Azure-resources voor een nieuwe toepassing. GUI-hulpprogramma's begeleiden u bij het maken van nieuwe services en stellen u in staat om de opties voor een service te bekijken en te selecteren met behulp van vervolgkeuzelijsten en andere grafische elementen.
Schrijf een script met behulp van de Azure CLI of Azure PowerShell om een algemene taak te automatiseren. U kunt bijvoorbeeld een script maken waarmee een eenvoudige ontwikkelomgeving wordt gemaakt voor een nieuwe webtoepassing die bestaat uit een Azure-app Service, een database en blobopslag. Het schrijven van een script zorgt ervoor dat de resources telkens op dezelfde manier worden gemaakt en sneller kunnen worden uitgevoerd dan klikken via een gebruikersinterface.
Gebruik IaC-hulpprogramma's (Infrastructure as Code) om Azure-resources declaratief te implementeren en te beheren. Met hulpprogramma's zoals Terraform, Ansible of Bicep kunt u de Azure-resources die nodig zijn voor een oplossing in declaratieve syntaxis codificeren, waardoor de consistente implementatie van Azure-resources in omgevingen wordt gegarandeerd en omgevingsdrift wordt voorkomen.
Azure Portal
Azure Portal is een webinterface die is ontworpen voor het beheren van Azure-resources. Azure Portal-functies:
- Een gebruiksvriendelijke, webgebaseerde gebruikersinterface voor het maken en beheren van Azure-resources
- De mogelijkheid om configureerbare dashboards te maken
- Toegang tot abonnementsinstellingen en factureringsgegevens
VS Code Azure Tools Extension Pack
Ontwikkelaars die Visual Studio Code gebruiken, kunnen Azure-resources rechtstreeks vanuit VS Code beheren met behulp van het Azure Tools Extension Pack voor VS Code. Met behulp van het Azure Tools Extension Pack kunt u het volgende doen:
- Code maken, beheren en implementeren op websites met behulp van Azure-app Service.
- Azure-databases maken, bladeren en er query's op uitvoeren
- Azure Functions rechtstreeks vanuit VS Code maken, fouten opsporen en implementeren
- Toepassingen in containers implementeren vanuit VS Code
Opdrachtregeltools
Opdrachtregelprogramma's bieden de voordelen van efficiëntie, herhaalbaarheid en de mogelijkheid om terugkerende taken te scripten. Azure biedt twee verschillende opdrachtregelprogramma's waaruit u kunt kiezen. De Azure CLI en Azure PowerShell zijn functioneel gelijkwaardig. U hoeft alleen het hulpprogramma te selecteren en te gebruiken dat het beste past bij uw afzonderlijke werkstroom.
Azure-CLI
De Azure CLI is een platformoverschrijdend opdrachtregelprogramma dat wordt uitgevoerd in Windows, Linux en macOS. De Azure CLI:
- Bevat een beknopte, efficiënte syntaxis voor het beheren van Azure-resources.
- Voert resultaten uit als JSON (standaard). Resultaten kunnen ook worden opgemaakt als YAML, een ASCII-tabel of door tabs gescheiden waarden zonder sleutels.
- Biedt de mogelijkheid om query's uit te voeren en uitvoer vorm te geven via het gebruik van JMESPath-query's.
Azure CLI-opdrachten zijn eenvoudig opgenomen in populaire scripttalen, zoals Bash , waarmee u algemene taken kunt uitvoeren.
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 is een set cmdlets om Azure-resources rechtstreeks vanuit PowerShell te beheren. Azure PowerShell is geïnstalleerd als een PowerShell-module en werkt met PowerShell 7.0.6 LTS en PowerShell 7.1.3 of hoger op alle platforms, waaronder Windows, macOS en Linux. Het is ook compatibel met Windows PowerShell 5.1.
Azure PowerShell is nauw geïntegreerd met de PowerShell-taal. Opdrachten volgen de indeling van een zelfstandig naamwoord en gegevens worden geretourneerd als PowerShell-objecten. Als u al bekend bent met PowerShell-scripts, is Azure PowerShell een natuurlijke keuze.
$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
Zie het artikel Het juiste opdrachtregelprogramma kiezen voor meer informatie over het kiezen tussen Azure CLI en Azure PowerShell.
Hulpprogramma's voor infrastructuur als code
Infrastructuur als code is het proces van het beheren en inrichten van resources via declaratieve configuratiebestanden. Infrastructuur als codehulpprogramma's maken gebruik van een declaratieve eindstatusspecificatie om te garanderen dat een set resources elke keer op dezelfde manier wordt gemaakt en geconfigureerd. Bovendien controleren de meeste infrastructuur als codehulpprogramma's resources om ervoor te zorgen dat ze geconfigureerd blijven in de gewenste status.
Voor infrastructuurimplementaties die geautomatiseerd, herhaald en betrouwbaar zijn, ondersteuning voor Azure verschillende infrastructuren als codehulpprogramma's.
Bicep
Bicep is een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-resources te implementeren. Deze taal voorziet in een beknopte syntaxis, betrouwbare typeveiligheid en ondersteuning voor hergebruik van 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 is een open-source-hulpprogramma voor het inrichten en beheren van cloudinfrastructuur. Het codificeert infrastructuur in configuratiebestanden die de topologie van cloudresources beschrijven. De Terraform CLI biedt een eenvoudig mechanisme voor het implementeren en versieconfiguratiebestanden 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 is een open-sourceproduct waarmee het inrichten van clouds, configuratiebeheer en toepassingsimplementatie kan worden geautomatiseerd. U kunt Ansible gebruiken om virtuele machines, containers, netwerken en volledige cloudinfrastructuren in te richten. Bovendien kunt u met Ansible de implementatie en configuratie van resources in uw omgeving automatiseren.
- 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 en REST API's
Azure-resources kunnen ook programmatisch worden gemaakt op basis van code. Hiermee kunt u toepassingen schrijven die Azure-resources dynamisch inrichten als reactie op gebruikersaanvragen. De Azure SDK biedt resourcebeheerpakketten in .NET, Go, Java, JavaScript en Python waarmee Azure-resources rechtstreeks in code kunnen worden gemaakt en beheerd. Met de Azure REST API kunnen Azure-resources ook worden beheerd via HTTP-aanvragen naar een RESTful-eindpunt.