introduzione
Microsoft Azure è una piattaforma e un servizio di cloud computing offerto da Microsoft. Fornisce un'ampia gamma di servizi cloud, tra cui macchine virtuali, storage, database, analisi, networking e altro ancora. In qualità di professionista IT, avere una buona conoscenza di Microsoft Azure è essenziale per gestire e utilizzare in modo efficace le risorse cloud.
Introduzione a Microsoft Azure
Per iniziare con Microsoft Azure, devi disporre di un account Microsoft Azure. Se non disponi di un account, puoi registrarti per una prova gratuita all'indirizzo https://azure.microsoft.com/free/.
Creazione e gestione di macchine virtuali
Una delle funzionalità chiave di Microsoft Azure è la possibilità di creare e gestire macchine virtuali nel cloud. Le macchine virtuali sono utili per eseguire applicazioni e servizi senza la necessità di hardware fisico.
//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
Distribuzione di applicazioni Web
Microsoft Azure fornisce vari servizi per la distribuzione e l'hosting di applicazioni Web. Servizio app di Azure è una piattaforma completamente gestita per la creazione, la distribuzione e il ridimensionamento di app Web.
//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
Configurazione e utilizzo dell'archiviazione di Azure
Archiviazione di Azure è una soluzione di archiviazione cloud che offre archiviazione scalabile e a disponibilità elevata per applicazioni e servizi. Offre vari servizi, tra cui archiviazione BLOB, archiviazione file, archiviazione code e archiviazione tabelle.
//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
Gestione dei database in Azure
Azure offre vari servizi di database, tra cui database SQL di Azure, Azure Cosmos DB, database di Azure per PostgreSQL e altro ancora. Questi servizi consentono di archiviare e gestire dati strutturati e non strutturati nel cloud.
//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"
Automazione della distribuzione con Azure DevOps
Azure DevOps è un insieme di strumenti e servizi di sviluppo forniti da Microsoft per automatizzare la distribuzione del software. Include funzionalità come controllo della versione, pipeline di compilazione e rilascio e strumenti di pianificazione agili.
//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
Conclusione
In questo tutorial, abbiamo trattato alcuni concetti essenziali di Microsoft Azure e dimostrato come eseguire attività comuni, come la creazione e la gestione di macchine virtuali, la distribuzione di applicazioni Web, la configurazione e l'uso di Archiviazione di Azure, la gestione di database e l'automazione della distribuzione con Azure DevOps. Padroneggiando Microsoft Azure, puoi gestire e utilizzare in modo efficace le risorse cloud per i tuoi progetti e applicazioni IT.