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.

  • Başlangıç şablonlarından tam yığın uygulamaları sağlamak ve dağıtmak için Azure Geliştirici CLI'sini (azd) kullanın. Tek azd up bir komutla gerekli tüm Azure kaynaklarını oluşturabilir ve her hizmeti el ile yapılandırmadan kodunuzu dağıtabilirsiniz.

  • Hangi kaynakları oluşturacağınız veya nasıl yapılandıracağınız konusunda emin olmadığınız durumlarda yapay zeka destekli rehberlik almak için Azure için GitHub Copilot'u kullanın. Azure için GitHub Copilot hizmetler hakkında bilgi edinmenize, dağıtım betikleri oluşturmanıza ve doğal dil kullanarak sorunları gidermenize yardımcı olabilir.

  • 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.

  • Yapay zeka projelerini hızla önyüklemek için yapay zeka uygulama şablonlarını kullanın. Azure, verilerinizle sohbet ve belge işleme gibi yaygın yapay zeka senaryoları için altyapı tanımlarını, uygulama kodunu ve dağıtım yapılandırmasını içeren yapay zeka uygulama şablonları sağlar.

Azure geliştirici araçlarını kullanmaya başlamak için bkz . Hızlı Başlangıç: Azure geliştirici araç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ü.

Visual Studio'da Azure geliştirme

Visual Studio kullanan geliştiriciler, Azure geliştirme iş yükü aracılığıyla Azure araçlarına erişir. Visual Studio'nun Azure tümleştirmesi şunları içerir:

  • Azure App Service, Azure İşlevleri ve Azure Container Uygulamaları oluşturma ve dağıtma
  • Bağlı Hizmetler aracılığıyla Azure hizmet bağımlılıkları ekleme
  • Bulut Gezgini ile Azure kaynaklarına göz atma ve kaynakları yönetme
  • Bulut hizmetlerinde yerel ve uzaktan hata ayıklama

Visual Studio ile Azure geliştirme hakkında daha fazla bilgi edinmek için bkz. Visual Studio ile Azure geliştirme.

Azure Geliştirici CLI'sı

Azure Geliştirici CLI'sı (azd), Azure uygulamaları oluşturmaya yönelik geliştirici odaklı bir komut satırı aracıdır. Azure Geliştirici CLI'sı:

  • Başlangıç şablonlarından tam yığın uygulamaları sağlar ve dağıtır
  • Tek azd up bir komutla koddan buluta kadar olan süreyi azaltır
  • azd pipeline config ile CI/CD işlem hattı yapılandırmasını destekler
  • Bicep veya Terraform'da altyapı tanımlarıyla çalışır

Başlamak için bkz. Azure Geliştirici CLI hızlı başlangıcı.

Azure için GitHub Copilot

Azure için GitHub Copilot, Azure ile doğal dil kullanarak çalışmanıza yardımcı olan yapay zeka destekli bir sohbet uzantısıdır. Bunu şunlar için kullanın:

  • Azure hizmetleri ve en iyi yöntemler hakkında bilgi edinin
  • Konuşma aracılığıyla Azure kaynaklarını dağıtma
  • Uygulama ve kaynak sorunlarını giderme
  • Buluta özel uygulamalar tasarlama konusunda rehberlik alın

Azure için GitHub Copilot, VS Code'da Azure Araçları uzantı paketiyle birlikte çalışarak uygulamalarınızı derleyip yönetirken yapay zeka destekli rehberlik sağlar.

Daha fazla bilgi edinmek için bkz. Azure için GitHub Copilot'ı kullanmaya başlama.

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.