Введение
Microsoft Azure — это платформа облачных вычислений и служба, предлагаемая Microsoft. Он предоставляет широкий спектр облачных услуг, включая виртуальные машины, хранилище, базы данных, аналитику, сеть и многое другое. Являясь ИТ-специалистом, хорошее понимание Microsoft Azure необходимо для эффективного управления и использования облачных ресурсов.
Начало работы с Microsoft Azure
Чтобы начать работу с Microsoft Azure, вам необходимо иметь учетную запись Microsoft Azure. Если у вас нет учетной записи, вы можете подписаться на бесплатную пробную версию на странице https://azure.microsoft.com/free/.
Создание и управление виртуальными машинами
Одной из ключевых особенностей Microsoft Azure является возможность создавать виртуальные машины и управлять ими в облаке. Виртуальные машины полезны для запуска приложений и служб без физического оборудования.
//Creating a virtual machine in Azure using Azure CLI
az vm create \
--name my-vm \
--resource-group my-resource-group \
--image UbuntuLTS \
--admin-username azureuser \
--admin-password password123 \
--size Standard_DS2_v2 \
--location westus2
//Managing virtual machines using Azure PowerShell
# Connect to Azure
Connect-AzAccount
# Start a virtual machine
Start-AzVM -ResourceGroupName my-resource-group -Name my-vm
# Stop a virtual machine
Stop-AzVM -ResourceGroupName my-resource-group -Name my-vm
# Resize a virtual machine
Resize-AzVM -ResourceGroupName my-resource-group -Name my-vm -Size Standard_DS3_v2
Развертывание веб-приложений
Microsoft Azure предоставляет различные услуги для развертывания и размещения веб-приложений. Служба приложений Azure — это полностью управляемая платформа для создания, развертывания и масштабирования веб-приложений.
//Creating an Azure App Service using Azure CLI
az webapp create \
--name my-webapp \
--resource-group my-resource-group \
--plan my-appservice-plan \
--runtime "DOTNET|5.0"
//Deploying a web application using Azure CLI
az webapp deployment source config-zip \
--src path/to/webapp.zip \
--resource-group my-resource-group \
--name my-webapp
//Deploying a web application using Azure PowerShell
$webAppName = "my-webapp"
$resourceGroupName = "my-resource-group"
$webAppZip = "path/to/webapp.zip"
$publishingProfile = Get-AzWebAppPublishingProfile -ResourceGroupName $resourceGroupName -Name $webAppName
$webAppFtpUrl = $publishingProfile.FtpUrl
$webAppUserName = $publishingProfile.UserName
$webAppPassword = $publishingProfile.Password
# Publish the web app using FTP
$webAppPath = "$webAppFtpUrl/site/wwwroot/"
& 'C:\Program Files\7-Zip\7z.exe' x $webAppZip "-o$webAppPath"
# Restart the web app
Restart-AzWebApp -ResourceGroupName $resourceGroupName -Name $webAppName
Настройка и использование хранилища Azure
Хранилище Azure — это решение для облачного хранилища, предоставляющее масштабируемое и высокодоступное хранилище для приложений и служб. Он предлагает различные услуги, включая хранилище BLOB-объектов, хранилище файлов, хранилище очередей и хранилище таблиц.
//Creating an Azure Storage account using Azure CLI
az storage account create \
--name my-storage-account \
--resource-group my-resource-group \
--location westus2 \
--sku Standard_LRS
//Uploading a file to Azure Blob storage using Azure CLI
az storage blob upload \
--account-name my-storage-account \
--container-name my-container \
--name my-file.txt \
--type block \
--src path/to/file.txt
//Uploading a file to Azure Blob storage using Azure PowerShell
$storageAccountName = "my-storage-account"
$containerName = "my-container"
$localFilePath = "path/to/file.txt"
$blobName = "my-file.txt"
$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName
$storageContext = $storageAccount.Context
$blobContainer = Get-AzStorageContainer -Context $storageContext -Name $containerName
Set-AzStorageBlobContent -Container $blobContainer.Name -Blob $blobName -File $localFilePath -Context $storageContext
Управление базами данных в Azure
Azure предоставляет различные службы баз данных, включая базу данных SQL Azure, Azure Cosmos DB, базу данных Azure для PostgreSQL и другие. Эти сервисы позволяют хранить и управлять структурированными и неструктурированными данными в облаке.
//Creating an Azure SQL Database using Azure CLI
az sql server create \
--name my-sql-server \
--resource-group my-resource-group \
--location westus2 \
--admin-user myadmin@my-sql-server \
--admin-password password123
az sql db create \
--name my-sql-database \
--resource-group my-resource-group \
--server my-sql-server \
--edition GeneralPurpose \
--family Gen5 \
--capacity 2
//Managing Azure SQL Database using Azure PowerShell
$adminUser = "myadmin@my-sql-server"
$adminPassword = "password123"
$sqlServerName = "my-sql-server"
$databaseName = "my-sql-database"
# Create a SQL server
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName -Location "West US 2" -ServerName $sqlServerName -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminUser, ($adminPassword | ConvertTo-SecureString -AsPlainText -Force))
# Create a SQL database
New-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $sqlServerName -DatabaseName $databaseName -Edition "GeneralPurpose" -RequestedServiceObjectiveName "GP_Gen5_2"
Автоматизация развертывания с помощью Azure DevOps
Azure DevOps — это набор инструментов и служб разработки, предоставляемых корпорацией Майкрософт для автоматизации доставки программного обеспечения. Он включает в себя такие функции, как контроль версий, конвейеры сборки и выпуска, а также инструменты гибкого планирования.
//Creating an Azure DevOps project using Azure CLI
az devops project create \
--name my-project \
--organization https://dev.azure.com/my-organization
//Creating a build pipeline with Azure Pipelines using Azure DevOps
# Define the build pipeline YAML file (azure-pipelines.yml)
trigger:
branch:
include:
- master
jobs:
- job: Build
displayName: 'Build pipeline'
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'build'
projects: |
MyProject/MyProject.csproj
arguments: '--configuration Release'
# Creating a release pipeline with Azure Pipelines using Azure DevOps
# Define the release pipeline YAML file (azure-pipelines.yml)
trigger:
branches:
exclude:
- '*'
pr:
branches:
include:
- '*'
jobs:
- deployment: DeployWebApp
displayName: 'Deploy to Azure Web App'
environment:
name: 'my-webapp'
resourceName: 'resource-group/my-webapp'
resourceType: 'AzureWebApp'
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
inputs:
azureSubscription: 'my-azure-subscription'
appType: 'webApp'
appName: 'my-webapp'
package: '$(Pipeline.Workspace)/drop/WebApp.zip'
enableCustomDeployment: true
Заключение
В этом руководстве мы рассмотрели некоторые важные концепции Microsoft Azure и продемонстрировали, как выполнять распространенные задачи, такие как создание виртуальных машин и управление ими, развертывание веб-приложений, настройка и использование службы хранилища Azure, управление базами данных и автоматизация развертывания с помощью Azure DevOps. Освоив Microsoft Azure, вы сможете эффективно управлять облачными ресурсами и использовать их для своих ИТ-проектов и приложений.