0Pricing
Azure Fundamentals · Lección

Escalado automático y dominios personalizados

Configure reglas de escalado horizontal basadas en métricas de CPU y de la cola HTTP, asigne un dominio personalizado a su aplicación web y vincule un App Service Managed Certificate gratuito.

Escalado automático y dominios personalizados es una lección gratuita de Azure Fundamentals en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Azure Fundamentals, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Azure Fundamentals incluye 4 lecciones en total.

Por qué es importante el autoescalado

El autoescalado ajusta automáticamente el número de instancias de App Service que ejecutan su aplicación en función de la demanda en tiempo real. Sin autoescalado, debe aprovisionar recursos para la carga máxima y pagar por capacidad inactiva durante las horas de menor demanda. Con autoescalado, Azure añade instancias cuando aumenta la carga y las elimina cuando disminuye, optimizando tanto el rendimiento como el coste. El autoescalado requiere el nivel Standard o superior.

Escalado horizontal frente a escalado vertical

Azure ofrece dos dimensiones de escalado. El escalado horizontal añade más instancias idénticas de su aplicación para repartir la carga; esto es lo que hace principalmente el autoescalado. El escalado vertical cambia a un tamaño de VM mayor, con más CPU y RAM, modificando la SKU del plan de App Service. El escalado horizontal se prefiere por su resiliencia, ya que varias instancias pueden sobrevivir a fallos individuales; el escalado vertical tiene límites de hardware.

# Scale out to 5 instances manually
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --number-of-workers 5

# Scale up: change the SKU tier
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --sku P2V3

Reglas y perfiles de autoescalado

El autoescalado de Azure se configura mediante configuraciones de autoescalado asociadas a un plan de App Service. Una configuración de autoescalado contiene uno o varios perfiles (regular, fecha fija o recurrencia), cada uno con sus propias reglas. Una regla de escalado horizontal se activa cuando una métrica supera un umbral (por ejemplo, CPU > 70 %); una regla de reducción horizontal se activa cuando cae por debajo de un umbral inferior (por ejemplo, CPU < 30 %). Defina siempre reglas tanto de escalado horizontal como de reducción horizontal para evitar un crecimiento descontrolado o costes excesivos.

# Create an autoscale setting with CPU-based rules
az monitor autoscale create \
  --name MyAutoscale \
  --resource-group MyRG \
  --resource MyAppServicePlan \
  --resource-type Microsoft.Web/serverfarms \
  --min-count 2 \
  --max-count 10 \
  --count 2

# Add scale-out rule: CPU > 70% for 5 minutes
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'CpuPercentage > 70 avg 5m'

Autoescalado basado en programación

El autoescalado basado en programación (perfiles de recurrencia) permite preescalar recursos para patrones de tráfico predecibles. Por ejemplo, puede escalar horizontalmente hasta 10 instancias todos los días laborables a las 08:00 y reducirlas a 2 a las 18:00. La combinación de perfiles basados en programación y perfiles basados en métricas ofrece lo mejor de ambos enfoques: capacidad preescalada para picos conocidos y una respuesta elástica ante aumentos inesperados.

# Add a recurrence profile for weekday peak hours
az monitor autoscale profile create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --name 'WeekdayPeak' \
  --min-count 5 \
  --max-count 15 \
  --count 5 \
  --recurrence week mon tue wed thu fri \
  --start 08:00 \
  --end 18:00 \
  --timezone 'UTC'

Periodos de enfriamiento

Un periodo de enfriamiento es un retraso posterior a una acción de escalado durante el cual no se realizan más acciones de escalado. Evita el comportamiento oscilante: aumentos o reducciones horizontales rápidos y repetidos provocados por picos de métricas transitorios. El periodo de enfriamiento predeterminado es de 5 minutos para el escalado horizontal y de 5 minutos para la reducción horizontal. Configure un periodo más largo para la reducción horizontal (por ejemplo, de 10 a 15 minutos) para dar tiempo a las instancias a cerrar las conexiones activas antes de eliminarlas.

# Scale-in rule with 10-minute cooldown
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'CpuPercentage < 30 avg 10m' \
  --cooldown 10

Configuración de un dominio personalizado

Las aplicaciones de App Service obtienen un nombre de host predeterminado azurewebsites.net. Para usar su propio dominio (por ejemplo, www.contoso.com), añada un dominio personalizado en la configuración de App Service y cree los registros DNS correspondientes en el registrador de su dominio. Debe demostrar la propiedad creando un registro CNAME o un registro TXT (denominado registro de verificación) en su zona DNS y, después, crear el registro CNAME o A de enrutamiento real.

# DNS records at your registrar:
# CNAME  www           MyUniqueWebApp.azurewebsites.net
# TXT    asuid.www     <verification_id from Azure portal>

# After DNS propagation, add the custom domain in Azure
az webapp config hostname add \
  --webapp-name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

Certificados TLS para dominios personalizados

Una vez asignado un dominio personalizado, necesita un certificado TLS para habilitar HTTPS. App Service ofrece tres opciones: App Service Managed Certificate (gratuito, con renovación automática y limitado a dominios estándar), App Service Certificate (adquirido mediante Azure y almacenado en Key Vault) o la carga de un certificado de terceros (su propio certificado de Let's Encrypt o de una CA). El modo de solo HTTPS redirige automáticamente todo el tráfico HTTP a HTTPS.

# Create a free App Service Managed Certificate
az webapp config ssl create \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

# Bind the certificate to enforce HTTPS
az webapp config ssl bind \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --certificate-thumbprint <THUMBPRINT> \
  --ssl-type SNI

# Enforce HTTPS only
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

Métricas de la cola HTTP para el autoescalado

Aunque la CPU es una métrica habitual para el autoescalado, la longitud de la cola HTTP suele ser una señal mejor para las aplicaciones web. Cuando la longitud de la cola es elevada, hay solicitudes nuevas esperando porque las instancias están completamente ocupadas. El escalado basado en HttpQueueLength detecta la sobrecarga más rápido que la CPU, ya que esta puede fluctuar sin indicar necesariamente una latencia perceptible para el usuario. Use ambas métricas conjuntamente para obtener un comportamiento de autoescalado sólido.

# Scale out when HTTP queue length exceeds 100
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'HttpQueueLength > 100 avg 1m' \
  --cooldown 5

# Scale in when queue drops below 10
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'HttpQueueLength < 10 avg 10m' \
  --cooldown 10

Notificaciones de autoescalado

Configure notificaciones de autoescalado para recibir alertas por correo electrónico o webhook cuando se produzcan eventos de escalado. Esto ayuda a los equipos a comprender los patrones de tráfico y verificar que el autoescalado funciona según lo esperado. Las notificaciones se configuran en la sección de notificaciones de la configuración de autoescalado y pueden dirigirse a varias direcciones de correo electrónico y puntos de conexión webhook (para integrarse con Slack, PagerDuty o herramientas personalizadas).

# Add email notification to autoscale setting
az monitor autoscale update \
  --name MyAutoscale \
  --resource-group MyRG \
  --add-condition '{"email": {"sendToSubscriptionAdministrator": true, "customEmails": ["ops@contoso.com"]}, "webhooks": []}'

Dominios apex y Traffic Manager

Para asignar un dominio apex (por ejemplo, contoso.com sin www) a App Service, se necesita un registro A que apunte a la dirección IP de App Service, además de un registro TXT de verificación. Como las direcciones IP de App Service pueden cambiar, Microsoft recomienda usar Azure Traffic Manager o Azure Front Door como intermediario: el equivalente de CNAME para el dominio apex (registro ALIAS/ANAME) apunta al perfil de Traffic Manager, que dirige el tráfico a App Service.

# Get the App Service inbound IP (for A record)
az webapp show \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --query 'inboundIpAddress' -o tsv

# DNS at registrar (apex domain with A record approach)
# A      contoso.com     <inboundIpAddress>
# TXT    asuid           <verification_id>

Prueba del comportamiento del escalado automático

Después de configurar el escalado automático, compruebe que funciona correctamente generando carga artificial. Use herramientas como Apache JMeter, k6 o Azure Load Testing para simular usuarios simultáneos. Observe la métrica Instance count del plan de App Service en Azure Monitor para confirmar que el número de instancias aumenta cuando se incrementa la carga y disminuye cuando esta baja. Documente las RPS (solicitudes por segundo) observadas por instancia para validar los umbrales de escalado.

# Run a quick load test with curl (basic)
for i in {1..100}; do curl -o /dev/null -s https://www.contoso.com/health & done
wait

# Monitor current instance count
az monitor metrics list \
  --resource '/subscriptions/.../providers/Microsoft.Web/serverfarms/MyAppServicePlan' \
  --metric 'InstanceCount' \
  --interval PT1M

Comprobación rápida

Compruebe su comprensión de los conceptos de Microsoft Azure Fundamentals (AZ-900) tratados en esta lección.

Resumen de la lección

En esta lección ha aprendido que las reglas de escalado automático de los planes de App Service agregan o quitan instancias según el uso de CPU, la cola HTTP o los desencadenadores programados; los dominios personalizados requieren registros DNS CNAME/A y un registro TXT de verificación en la zona DNS; y los certificados TLS (incluidos los certificados administrados gratuitos) habilitan HTTPS en los dominios personalizados. A continuación, exploraremos la autenticación y las redes de App Service.

Preguntas frecuentes

¿La lección «Escalado automático y dominios personalizados» es gratis?

Sí — el texto completo de «Escalado automático y dominios personalizados» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Azure Fundamentals, actualiza a CoddyKit PRO. El curso de Azure Fundamentals incluye 4 lecciones en total.

¿Qué aprenderé en «Escalado automático y dominios personalizados»?

Configure reglas de escalado horizontal basadas en métricas de CPU y de la cola HTTP, asigne un dominio personalizado a su aplicación web y vincule un App Service Managed Certificate gratuito. Practicas Azure Fundamentals con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Azure Fundamentals?

No se requiere experiencia previa. Azure Fundamentals en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Escalado automático y dominios personalizados»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Azure Fundamentals?

Sí. Cada lección de Azure Fundamentals incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación de un plan de App Service y una aplicación web
  2. Ranuras de implementación e intercambio
  3. Escalado automático y dominios personalizados
  4. Autenticación y redes de App Service
← Volver a Azure Fundamentals