Introducción
Microsoft Azure es una plataforma y servicio de computación en la nube ofrecido por Microsoft. Proporciona una amplia gama de servicios en la nube, incluidas máquinas virtuales, almacenamiento, bases de datos, análisis, redes y más. Como profesional de TI, tener una buena comprensión de Microsoft Azure es esencial para administrar y utilizar de manera efectiva los recursos de la nube.
Primeros pasos con Microsoft Azure
Para comenzar con Microsoft Azure, debe tener una cuenta de Microsoft Azure. Si no tiene una cuenta, puede registrarse para una prueba gratuita en https://azure.microsoft.com/free/.
Crear y administrar máquinas virtuales
Una de las características clave de Microsoft Azure es la capacidad de crear y administrar máquinas virtuales en la nube. Las máquinas virtuales son útiles para ejecutar aplicaciones y servicios sin necesidad de hardware físico.
//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
Implementación de aplicaciones web
Microsoft Azure proporciona varios servicios para implementar y hospedar aplicaciones web. Azure App Service es una plataforma totalmente administrada para crear, implementar y escalar aplicaciones 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
Configuración y uso de Azure Storage
Azure Storage es una solución de almacenamiento en la nube que proporciona almacenamiento escalable y de alta disponibilidad para aplicaciones y servicios. Ofrece varios servicios, incluidos el almacenamiento de blobs, el almacenamiento de archivos, el almacenamiento en cola y el almacenamiento en tablas.
//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
Administrar bases de datos en Azure
Azure proporciona varios servicios de bases de datos, incluidos Azure SQL Database, Azure Cosmos DB, Azure Database for PostgreSQL y más. Estos servicios le permiten almacenar y administrar datos estructurados y no estructurados en la nube.
//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"
Automatización de la implementación con Azure DevOps
Azure DevOps es un conjunto de herramientas y servicios de desarrollo proporcionados por Microsoft para automatizar la entrega de software. Incluye funciones como control de versiones, canalizaciones de compilación y lanzamiento, y herramientas de planificación ágiles.
//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
Conclusión
En este tutorial, cubrimos algunos conceptos esenciales de Microsoft Azure y demostramos cómo realizar tareas comunes, como crear y administrar máquinas virtuales, implementar aplicaciones web, configurar y usar Azure Storage, administrar bases de datos y automatizar la implementación con Azure DevOps. Al dominar Microsoft Azure, puede administrar y utilizar de manera efectiva los recursos de la nube para sus proyectos y aplicaciones de TI.