Návody vytvářet a spravovat prostředky v Azure?

Toto je 5. část série 7 článků, které vývojářům pomůžou začít s Azure.

Azure nabízí celou řadu nástrojů pro vytváření a správu prostředků Azure používaných vaší aplikací.

Různé nástroje jsou navržené tak, aby podporovaly různé případy použití a většina vývojářů Azure používá kombinaci různých nástrojů v závislosti na úloze, kterou potřebují provést. Můžete například:

  • Při vytváření prototypů prostředků Azure pro novou aplikaci použijte nástroj grafického uživatelského rozhraní, jako je Azure Portal nebo rozšíření Azure Tools pro VS Code . Nástroje grafického uživatelského rozhraní vás provedou procesem vytváření nových služeb a umožňují zkontrolovat a vybrat možnosti služby pomocí rozevíracích nabídek a dalších grafických prvků.

  • Napište skript pomocí Azure CLI nebo Azure PowerShellu k automatizaci běžné úlohy. Můžete například vytvořit skript, který vytvoří základní vývojové prostředí pro novou webovou aplikaci, která se skládá ze služby Aplikace Azure, databáze a úložiště objektů blob. Napsání skriptu zajistí, že se prostředky pokaždé vytvoří stejným způsobem a je rychlejší než klikání přes uživatelské rozhraní.

  • K deklarativnímu nasazení a správě prostředků Azure použijte nástroje Infrastruktura jako kód (IaC). Nástroje, jako je Terraform, Ansible nebo Bicep, umožňují kodifikovat prostředky Azure potřebné pro řešení v deklarativní syntaxi a zajistit konzistentní nasazení prostředků Azure napříč prostředími a zabránit posunu prostředí.

portál Azure

Azure Portal je webové rozhraní navržené pro správu prostředků Azure. Funkce webu Azure Portal:

  • Snadné použití webového uživatelského rozhraní pro vytváření a správu prostředků Azure
  • Možnost vytvářet konfigurovatelné řídicí panely
  • Přístup k nastavení předplatného a fakturačním údajům

Snímek obrazovky s webem Azure Portal

Sada rozšíření VS Code Azure Tools

Vývojáři, kteří používají Visual Studio Code , můžou spravovat prostředky Azure přímo z nástroje VS Code pomocí balíčku rozšíření Azure Tools pro VS Code. Pomocí balíčku rozšíření Azure Tools můžete:

  • Vytváření, správa a nasazování kódu na weby pomocí služby Aplikace Azure Service
  • Vytváření, procházení a dotazování databází Azure
  • Vytvoření, ladění a nasazení Azure Functions přímo z VS Code
  • Nasazení kontejnerizovaných aplikací z VS Code

Snímek obrazovky znázorňující Visual Studio Code s nainstalovanou sadou rozšíření Azure Tools

Nástroje příkazového řádku

Nástroje příkazového řádku nabízejí výhody efektivity, opakovatelnosti a možnosti skriptování opakovaných úloh. Azure nabízí dva různé nástroje příkazového řádku, ze které si můžete vybrat. Azure CLI a Azure PowerShell jsou funkčně ekvivalentní. Stačí vybrat a použít nástroj, který nejlépe vyhovuje vašemu individuálnímu pracovnímu postupu.

Azure CLI

Azure CLI je multiplatformní nástroj příkazového řádku, který běží ve Windows, Linuxu a macOS. The Azure CLI:

  • Nabízí stručnou a efektivní syntaxi pro správu prostředků Azure.
  • Výstupy jsou ve formátu JSON (ve výchozím nastavení). Výsledky lze také naformátovat jako YAML, tabulku ASCII nebo hodnoty oddělené tabulátory bez kláves.
  • Poskytuje možnost dotazování a tvarování výstupu pomocí dotazů JMESPath.

Příkazy Azure CLI se snadno začleňují do oblíbených skriptovacích jazyků, jako je Bash , a umožňují vám skriptovat běžné úlohy.

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 je sada rutin pro správu prostředků Azure přímo z PowerShellu. Azure PowerShell je nainstalovaný jako modul PowerShellu a funguje s PowerShellem 7.0.6 LTS a PowerShellem 7.1.3 nebo novějším na všech platformách, včetně Windows, macOS a Linuxu. Je také kompatibilní s PowerShellem 5.1 ve Windows.

Azure PowerShell je úzce integrovaný s jazykem PowerShellu. Příkazy následují verb-noun format a data se vrátí jako objekty PowerShellu. Pokud už znáte skriptování PowerShellu, azure PowerShell je přirozenou volbou.

$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

Další informace o výběru mezi Azure CLI a Azure PowerShellem najdete v článku Volba správného nástroje příkazového řádku.

Infrastruktura jako nástroje kódu

Infrastruktura jako kód je proces správy a zřizování prostředků prostřednictvím deklarativních konfiguračních souborů. Infrastruktura jako nástroje kódu používá deklarativní specifikaci koncového stavu k zajištění, že se sada prostředků vytvoří a nakonfiguruje stejným způsobem pokaždé. Většina infrastruktury jako nástrojů kódu navíc monitoruje prostředky, aby se zajistilo, že zůstanou nakonfigurované v požadovaném stavu.

Pro nasazení infrastruktury, která jsou automatizovaná, opakovaná a spolehlivá, podpora Azure celou řadu nástrojů Infrastruktury jako kódu.

Bicep

Bicep je jazyk specifický pro doménu (DSL), který k nasazování prostředků Azure používá deklarativní syntaxi. Poskytuje stručnou syntaxi, spolehlivou bezpečnost typů a podporu pro opakované použití kódu.

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

Terraform od společnosti HashiCorp je opensourcový nástroj sloužící ke zřizování a správě cloudové infrastruktury. Konfiguruje infrastrukturu v konfiguračních souborech, které popisují topologii cloudových prostředků. Rozhraní příkazového řádku Terraformu poskytuje jednoduchý mechanismus pro nasazení a verzi konfiguračních souborů do 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 je opensourcový produkt, který automatizuje zřizování cloudu, správu konfigurace a nasazení aplikací. Pomocí Ansible můžete zřídit virtuální počítače, kontejnery a síť a kompletní cloudové infrastruktury. Ansible také umožňuje automatizovat nasazení a konfiguraci prostředků ve vašem prostředí.

- 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 a rozhraní REST API

Prostředky Azure je možné vytvářet také programově z kódu. Díky tomu můžete psát aplikace, které dynamicky zřizují prostředky Azure v reakci na požadavky uživatelů. Sada Azure SDK poskytuje balíčky pro správu prostředků v .NET, Go, Java, JavaScriptu a Pythonu, které umožňují vytvářet a spravovat prostředky Azure přímo v kódu. Alternativně rozhraní Azure REST API umožňuje správu prostředků Azure prostřednictvím požadavků HTTP na koncový bod RESTful.