Aracılığıyla paylaş


Azure'da kaynak oluşturmak ve yönetmek Nasıl yaparım??

Bu makale, geliştiricilerin Azure'ı kullanmaya başlamasına yardımcı olan yedi makalenin beşinci bölümüdür.

Azure, uygulamanızın kullandığı kaynakları oluşturmak ve yönetmek için çeşitli araçlar sunar.

Farklı araçlar çeşitli kullanım örneklerini destekler ve çoğu Azure geliştiricisi işe bağlı olarak bir araç birleşimi kullanır. Örneğin, şunları da ekleyebilirsiniz:

  • Azure kaynaklarını yeni bir uygulama için prototip oluştururken Azure portalı veya VS Code için Azure Araçları uzantısı gibi bir GUI aracı kullanın. GUI araçları, yeni hizmetler oluşturma işleminde size yol gösterir ve açılan menüleri ve diğer grafik öğeleri kullanarak bir hizmetin seçeneklerini gözden geçirmenize ve seçmenize olanak sağlar.

  • Ortak bir görevi otomatikleştirmek için Azure CLI veya Azure PowerShell kullanarak bir betik yazın. Örneğin, Azure Uygulaması Hizmeti, veritabanı ve blob depolamadan oluşan yeni bir web uygulaması için temel geliştirme ortamı oluşturan bir betik oluşturabilirsiniz. Betik yazmak tutarlı kaynak oluşturmayı sağlar ve kullanıcı arabirimi kullanmaktan daha hızlıdır.

  • Azure kaynaklarını bildirimli olarak dağıtmak ve yönetmek için Kod olarak altyapı (IaC) araçlarını kullanın. Terraform, Ansible ve Bicep gibi araçlar, Azure kaynaklarını bildirim temelli söz diziminde uyumlu hale getirerek ortamlar arasında tutarlı dağıtım sağlamanızı ve ortam kaymasını önlemenizi sağlar.

Azure portal

Azure portalı, Azure kaynaklarını yönetmek için tasarlanmış web tabanlı bir arabirimdir. Azure portalının özellikleri:

  • Azure kaynaklarını oluşturmak ve yönetmek için kullanımı kolay, web tabanlı bir kullanıcı arabirimi
  • Yapılandırılabilir panolar oluşturma
  • Abonelik ayarlarına ve faturalama bilgilerine erişme

Azure portalını gösteren ekran görüntüsü.

VS Code Azure Araçları Uzantı Paketi

Visual Studio Code kullanan geliştiriciler, VS Code için Azure Araçları Uzantı Paketi ile Azure kaynaklarını doğrudan VS Code'da yönetir. Azure Araçları Uzantı Paketi şunları yapmanızı sağlar:

  • Azure App Service ile web sitelerine kod oluşturma, yönetme ve dağıtma
  • Azure veritabanları oluşturma, göz atma ve sorgulama
  • Doğrudan VS Code'da Azure İşlevleri oluşturma, hata ayıklama ve dağıtma
  • VS Code'da kapsayıcılı uygulamaları dağıtma

Özelliklerin tam listesi için uzantının indirme sayfasına bakın.

Azure Araçları uzantı paketinin yüklü olduğu Visual Studio Code'u gösteren ekran görüntüsü.

Komut satırı araçları

Komut satırı araçları verimlilik, tekrarlanabilirlik ve yinelenen görevler için betik oluşturma olanağı sunar. Azure iki komut satırı aracı sağlar: Azure CLI ve Azure PowerShell. her iki araç da işlevsel olarak eşdeğerdir, bu nedenle iş akışınıza uygun olanı seçin.

Azure CLI

Azure CLI, Windows, Linux ve macOS üzerinde çalışan platformlar arası bir komut satırı aracıdır. The Azure CLI:

  • Azure kaynaklarını yönetmek için kısa ve verimli bir söz dizimi içerir
  • Sonuçları varsayılan olarak JSON biçiminde verir. Sonuçlar YAML, ASCII tablosu veya anahtar olmadan sekmeyle ayrılmış değerler olarak da biçimlendirilebilir
  • JMESPath sorgularını kullanarak çıkışı sorgulama ve şekillendirme olanağı sağlar

Azure CLI komutları Bash gibi popüler betik dilleriyle kolayca tümleştirerek yaygın görevleri betik olarak yazmanıza olanak sağlar.

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, Azure kaynaklarını doğrudan PowerShell'den yönetmeye yönelik bir cmdlet kümesidir. Azure PowerShell bir PowerShell modülü olarak yüklenir ve Windows, macOS ve Linux dahil tüm platformlarda PowerShell 7.0.6 LTS ve PowerShell 7.1.3 veya üzeri sürümlerle çalışır. Ayrıca Windows PowerShell 5.1 ile de uyumludur.

Azure PowerShell, PowerShell diliyle sıkı bir şekilde tümleşir. Komutlar fiil-isim biçimini kullanır ve veriler PowerShell nesneleri olarak döndürülüyor. PowerShell betiğini zaten biliyorsanız Azure PowerShell doğal bir seçenektir.

$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

Azure CLI ile Azure PowerShell arasında seçim yapma hakkında daha fazla bilgi için Doğru komut satırı aracını seçme makalesine bakın.

Kod olarak altyapı araçları

Kod olarak altyapı , bildirim temelli yapılandırma dosyaları aracılığıyla kaynakları yönetme ve sağlama işlemidir. Kod olarak altyapı araçları, bir kaynak kümesinin her seferinde aynı şekilde oluşturulup yapılandırıldığını garanti etmek için bildirim temelli bir bitiş durumu belirtimi kullanır. Kod araçları olarak altyapının çoğu, istenen durumda yapılandırıldığından emin olmak için kaynakları da izler.

Azure, otomatik, yinelenen ve güvenilir dağıtımlar için çeşitli kod araçları olarak altyapıyı destekler.

Biseps

Bicep, Azure kaynaklarını dağıtmak için bildirim temelli söz dizimi kullanan, etki alanına özgü bir dildir (DSL). Kısa sözdizimi, güvenilir tür güvenliği ve kod yeniden kullanımı için destek sağlar.

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, bulut altyapısı sağlamak ve yönetmek için kullanılan bir açık kaynak araçtır. Bulut kaynaklarının topolojisini açıklayan yapılandırma dosyalarında altyapıyı kodlayarak yazar. Terraform CLI, yapılandırma dosyalarını Azure'a dağıtmak ve sürüm oluşturmak için basit bir mekanizma sağlar.

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 , bulut sağlama, yapılandırma yönetimi ve uygulama dağıtımlarını otomatik hale getiren açık kaynak bir üründür. Ansible'ı kullanarak sanal makineler, kapsayıcılar, ağlar ve eksiksiz bulut altyapıları sağlayabilirsiniz. Ansible, ortamınızdaki kaynakların dağıtımını ve yapılandırmasını otomatikleştirmenize de olanak tanır.

- 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 ve REST API'leri

Azure kaynakları koddan program aracılığıyla oluşturulabilir. Bu, kullanıcı isteklerine yanıt olarak Azure kaynaklarını dinamik olarak sağlayan uygulamalar yazmanızı sağlar. Azure SDK, .NET, Go, Java, JavaScript ve Python'da azure kaynaklarını doğrudan kodda oluşturmanıza ve yönetmenize olanak sağlayan kaynak yönetimi paketleri sağlar. Alternatif olarak, Azure REST API'si bir RESTful uç noktasına HTTP istekleri aracılığıyla Azure kaynaklarını yönetmenize olanak tanır.