Aracılığıyla paylaş


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

Azure, uygulamanız tarafından kullanılan Azure kaynaklarını oluşturmak ve yönetmek için çeşitli araçlar sağlar.

Farklı araçlar farklı kullanım örneklerini destekleyecek şekilde tasarlanmıştır ve çoğu Azure geliştiricisi, gerçekleştirmeleri gereken işe bağlı olarak farklı araçların bir birleşimini 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, kaynakların her seferinde aynı şekilde oluşturulmasını ve kullanıcı arabirimine tıklamaktan daha hızlı çalışmasını sağlar.

  • Azure kaynaklarını bildirimli olarak dağıtmak ve yönetmek için Kod Olarak Altyapı (IaC) araçlarını kullanın. Terraform, Ansible veya Bicep gibi araçlar, bildirim temelli söz diziminde çözüm için gereken Azure kaynaklarını koordine ederek Azure kaynaklarının ortamlar arasında tutarlı bir şekilde dağıtılmasını 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 özelliği
  • Abonelik ayarlarına ve faturalama bilgilerine erişim

A screenshot showing the Azure portal.

VS Code Azure Araçları Uzantı Paketi

Visual Studio Code kullanan geliştiriciler, VS Code için Azure Araçları Uzantı Paketi'ni kullanarak Doğrudan VS Code'dan Azure kaynaklarını yönetebilir. Azure Araçları Uzantı Paketi'ni kullanmak şunları yapabilir:

  • Azure Uygulaması Hizmetini kullanarak kod oluşturun, yönetin ve web sitelerine dağıtın.
  • Azure veritabanları oluşturma, göz atma ve sorgulama
  • doğrudan VS Code'dan Azure İşlevleri oluşturma, hata ayıklama ve dağıtma
  • VS Code'dan kapsayıcılı uygulamalar dağıtma

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

Komut satırı araçları

Komut satırı araçları verimlilik, tekrarlanabilirlik ve yinelenen görevleri betik oluşturma olanağının avantajlarını sunar. Azure, aralarından seçim yapabileceğiniz iki farklı komut satırı aracı sağlar. Azure CLI ve Azure PowerShell işlevsel olarak eşdeğerdir. Yalnızca tek tek iş akışınıza en uygun aracı seçmeniz ve kullanmanız gerekir.

Azure CLI

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

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

Azure CLI komutları Bash gibi popüler betik dillerine kolayca eklenir ve ortak görevleri betik oluşturma olanağı 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şiktir. Komutlar fiil-isim biçimini izler ve veriler PowerShell nesneleri olarak döndürülür. PowerShell betiğini zaten biliyorsanız, Azure PowerShell doğal bir seçimdir.

$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. Ayrıca, kod araçları olarak altyapının çoğu kaynakları izleyerek istenen durumda yapılandırılmaya devam etmelerini sağlar.

Otomatik, yinelenen ve güvenilir altyapı dağıtımları için çeşitli Kod Olarak Altyapı araçları Azure desteği.

Bicep

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ındaki altyapıyı bir arada kullanır. 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 ve ağ sağlayabilir ve bulut altyapılarını tamamlayabilirsiniz. Ayrıca Ansible, ortamınızdaki kaynakların dağıtımını ve yapılandırmasını otomatikleştirmenizi sağlar.

- 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 da 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ın doğrudan kodda oluşturulmasına ve yönetilmesine olanak sağlayan kaynak yönetimi paketleri sağlar. Alternatif olarak Azure REST API,Azure kaynaklarının BIR RESTful uç noktasına HTTP istekleri aracılığıyla yönetilmesine olanak tanır.