Totemize
  • Rutas totémicas
  • Precios
  • Quiénes somos
Iniciar sesiónÚnete gratis
Únete gratis
Ctrl+K
Modelo mental
  • Base de conocimiento
  • Cloud
    • Azure
      • Web Apps
        • App Service
        • App Service Plan
        • Configuración
        • Managed Identity
        • Deployment Slots
        • Networking
        • Observabilidad
      • Storage Accounts
        • Blob Storage
        • Containers
        • Azure Files
        • Queue Storage
        • Table Storage
        • Redundancia
        • Access Tiers
        • Lifecycle Management
        • Seguridad y red
  • Frontend
    • React
      • Componentes
      • Props y Estado
      • Hooks
      • Renderizado de listas
  • IA
    • Fundamentos
      • Determinismo y probabilismo
      • LLM
      • Proveedor
      • Modelos fundacionales
      • Plataforma
      • Mapa del ecosistema
      • Entrenamiento y fine-tuning
      • Tokens
      • Ventana de contexto
      • Inferencia y sampling
      • Alucinaciones y límites
    • Interacción con el modelo
      • Prompts e instrucciones
      • Context engineering
      • Salidas estructuradas
      • Validación
      • Evaluaciones
      • Tool calling
    • Economía de uso
      • API pricing
      • Tokens de entrada y salida
      • Tokens en caché
      • Créditos
      • Suscripciones
      • Límites de uso
      • Selección de modelo
    • Recuperación de conocimiento
      • Vectores
      • Embeddings
      • Chunking
      • Bases de datos vectoriales
      • Búsqueda semántica
      • Búsqueda híbrida y reranking
      • Retrieval
      • RAG
      • Citas y grounding
      • LlamaIndex
    • Agentes
      • Workflows
      • Anatomía de un agente
      • Harness
      • Agentic loop
      • Planificación y human-in-the-loop
      • Memory
      • Permisos
      • Verification
      • MCP
      • Orquestación
      • Multiagentes
      • A2A
      • Frameworks de agentes
        • Microsoft Agent Framework
        • OpenAI Agents SDK
        • Google ADK
        • LangGraph
    • Coding agents
      • Skills
      • Spec-Driven Development
      • Claude Code
        • CLAUDE.md
        • Commands
        • Hooks
        • Plugins
        • Permisos
        • Subagents
      • Codex
        • CLI
        • Extensión de IDE
        • Codex app
        • Cloud
        • AGENTS.md
        • Worktrees
      • Cursor
        • Agent mode
        • Rules
        • Models
        • Precio por uso
  • Soporte
  • Comentarios
    Árbol de habilidades

    Azure Web Apps

    8 min de lecturaActualizado el 1 jul 2026

    Esta ruta conecta los conceptos necesarios para publicar y operar aplicaciones HTTP sobre Azure App Service. No es un tour de botones del portal: el objetivo es que entiendas el modelo mental —qué es cada pieza, cómo se relaciona con las demás y qué decisiones tomas en producción— para que cuando llegues a la consola sepas exactamente qué estás configurando y por qué.

    App Service es el PaaS de Azure para alojar aplicaciones web, APIs y backends móviles sin gestionar servidores. Tú subes código o un contenedor; la plataforma se encarga del sistema operativo, el runtime, el parcheo, el balanceo y el escalado. A cambio de esa comodidad cedes algo de control, y buena parte de esta ruta trata precisamente de dónde está esa frontera.

    Qué aprenderás

    • Cómo se relacionan Web App, App Service y App Service Plan, y por qué confundirlos lleva a facturas y cuellos de botella inesperados.
    • Cómo manejar configuración, identidad y conectividad sin hardcodear secretos ni exponer superficie de red innecesaria.
    • Cómo reducir riesgo con deployment slots, health checks y observabilidad, para desplegar sin downtime y detectar problemas antes que tus usuarios.
    • Cómo pensar el coste y el escalado de forma que la aplicación crezca sin sorpresas en la factura.

    Empieza por Azure y continúa en el orden mostrado en la navegación. Cada página asume lo aprendido en la anterior.

    Modelo mental: las tres piezas

    Antes de tocar nada conviene fijar el vocabulario. Estos tres términos se usan como sinónimos en conversaciones informales, pero son cosas distintas:

    ConceptoQué esAnalogía
    App Service PlanEl conjunto de recursos de cómputo (VMs gestionadas) y su tier de precio.El edificio y su contrato de alquiler.
    App ServiceEl servicio de Azure que ejecuta tus apps sobre ese plan.El sistema del edificio que da luz, agua y seguridad.
    Web AppTu aplicación concreta (código o contenedor) corriendo dentro del plan.El inquilino que vive en un piso.

    La regla clave: varias Web Apps pueden compartir un mismo App Service Plan. Comparten CPU, memoria y coste. Esto es potente para consolidar entornos pequeños, pero peligroso si una app ruidosa agota los recursos de las demás.

    Por qué esto importa desde el día uno

    Un error frecuente es crear un plan por cada app “por si acaso”. Terminas pagando capacidad ociosa multiplicada. El error opuesto —meter todo en un solo plan barato— provoca contención cuando una app tiene un pico. La decisión correcta depende del perfil de carga, y la tomarás mejor cuando entiendas los tiers.

    Cuándo usar App Service

    App Service es una buena opción cuando:

    • Tienes una aplicación web o API HTTP estándar y quieres olvidarte del sistema operativo.
    • Valoras deployment slots, autoscale y certificados gestionados sin montar infraestructura.
    • Tu equipo prefiere desplegar código (o un contenedor) y no operar Kubernetes.
    • Necesitas integración nativa con Azure AD, Key Vault y Application Insights.

    Cuándo NO usar App Service

    Conviene mirar otras opciones si:

    • Necesitas orquestación compleja de microservicios → considera Container Apps o AKS.
    • Tu carga es puramente por eventos y de vida corta → Azure Functions encaja mejor y suele salir más barato.
    • Requieres control total del SO, kernel o software de bajo nivel → una VM o AKS te dan ese control.
    • Tu tráfico es tan bajo e intermitente que incluso el tier más pequeño es caro de mantener → evalúa un modelo serverless con escalado a cero.

    Arquitectura de referencia

    Una topología típica de una Web App en producción combina varias piezas de la plataforma alrededor del App Service:

    Internet │ ▼ [ Azure Front Door / Application Gateway ] ← WAF, TLS, enrutado │ ▼ [ App Service Plan ] ├── Web App (slot: production) └── Web App (slot: staging) ← swap sin downtime │ ├── Managed Identity ──▶ [ Key Vault ] (secretos) ├── VNet Integration ──▶ [ Azure SQL / Redis ] (datos privados) └── Diagnostics ──▶ [ Application Insights ] (observabilidad)

    La idea es que el tráfico entra por una capa de borde (TLS, WAF, caché), la app obtiene sus secretos e identidad de servicios gestionados en lugar de llevarlos en el código, y toda la telemetría fluye a un único sitio donde puedas correlacionar errores, latencia y despliegues.

    Configuración e identidad

    La configuración de una Web App vive en App Settings y Connection Strings, que Azure inyecta como variables de entorno en tiempo de ejecución. La regla de oro: el código no debe contener secretos. En su lugar:

    1. Habilita una Managed Identity en la Web App.
    2. Guarda los secretos en Key Vault.
    3. Referencia el secreto desde App Settings con la sintaxis de Key Vault references.

    Un ejemplo de referencia a Key Vault en un App Setting:

    # El valor del App Setting no es el secreto, sino un puntero a Key Vault. @Microsoft.KeyVault(SecretUri=https://mi-vault.vault.azure.net/secrets/DbPassword/)

    Y una lectura desde la aplicación (Node.js) que nunca ve el secreto en texto plano en el repositorio:

    // La plataforma ya resolvió la referencia de Key Vault en la variable de entorno. const connectionString = process.env.DATABASE_CONNECTION_STRING if (!connectionString) { throw new Error("Falta DATABASE_CONNECTION_STRING en la configuración") }

    [!NOTE] Las Managed Identities eliminan la necesidad de rotar credenciales manualmente: la identidad la gestiona Azure AD y la app se autentica sin contraseñas.

    Conectividad de red

    Por defecto una Web App es pública. Para producción normalmente querrás acotar la superficie:

    • VNet Integration: la app hace llamadas salientes hacia recursos privados (bases de datos, caches) dentro de tu red virtual.
    • Private Endpoints: la app deja de ser accesible por Internet y solo responde desde tu red.
    • Access Restrictions: reglas de IP/servicio para limitar quién puede llegar al endpoint público.

    La combinación habitual es entrada por Front Door + salida por VNet Integration, dejando la app sin exposición directa a Internet.

    Deployment slots

    Los slots son copias en vivo de tu app (por ejemplo staging y production) que comparten el mismo plan. El flujo seguro es:

    1. Despliegas la versión nueva en staging.
    2. Ejecutas smoke tests contra staging con su propia URL.
    3. Haces swap: Azure intercambia el enrutado de staging y production.

    El swap es casi instantáneo y precalienta la app antes de recibir tráfico, lo que evita el “cold start” del primer usuario. Si algo sale mal, un swap inverso te devuelve a la versión anterior en segundos.

    Configuración pegada al slot

    Algunos App Settings deben viajar con el slot (por ejemplo, apuntar a una base de datos de staging) y otros deben quedarse fijos al entorno tras el swap. Azure lo resuelve con la opción “deployment slot setting” (sticky settings): esos valores no se intercambian durante el swap.

    Escalado

    App Service ofrece dos ejes de escalado:

    • Scale up (vertical): cambiar a un tier con más CPU/memoria. Afecta a todas las apps del plan.
    • Scale out (horizontal): añadir más instancias que corren tu app en paralelo. Puede ser manual o mediante Autoscale por reglas (CPU, cola, horario).
    EstrategiaCuándoRiesgo
    Scale upLa app necesita más recurso por instancia (memoria, CPU sostenida).Punto único; sigues con una sola instancia si no escalas out.
    Scale outTráfico concurrente alto o picos.La app debe ser stateless; el estado va a Redis/DB.
    AutoscaleCarga variable y predecible por métricas.Reglas mal calibradas causan flapping o coste.

    [!TIP] Diseña la app stateless desde el principio. Guardar sesión en memoria local rompe en cuanto escalas a más de una instancia.

    Observabilidad

    No puedes operar lo que no puedes ver. El estándar en App Service es Application Insights, que te da:

    • Trazas distribuidas de peticiones y dependencias.
    • Métricas de latencia, throughput y tasa de error.
    • Live Metrics para ver el efecto de un despliegue en tiempo real.
    • Alertas sobre umbrales (p. ej. p95 de latencia o errores 5xx).

    Complementa con Health Checks: un endpoint (/health) que App Service sondea para retirar de rotación las instancias enfermas automáticamente.

    // Endpoint de salud mínimo: comprueba dependencias críticas antes de responder OK. app.get("/health", async (_req, res) => { try { await db.ping() res.status(200).json({ status: "ok" }) } catch { res.status(503).json({ status: "degraded" }) } })

    Coste

    El coste de App Service lo domina el tier del plan, no el número de apps (recuerda: varias apps comparten plan). Factores a vigilar:

    • El tier determina precio/hora, features (slots, VNet, escalado) y límites.
    • El número de instancias cuando escalas out multiplica el coste base.
    • Servicios acompañantes (Front Door, Application Insights, ancho de banda de salida) suman aparte.

    Errores de coste habituales:

    • Un plan Premium infrautilizado alojando una sola app de tráfico bajo.
    • Autoscale sin límite superior que dispara instancias en un pico anómalo.
    • Retención de logs de Application Insights más larga de lo necesario.

    Errores comunes en producción

    • Guardar estado en memoria local y romper al escalar out.
    • Meter secretos en App Settings en texto plano en vez de referencias a Key Vault.
    • Desplegar directo a producción sin usar un slot de staging.
    • Ignorar el cold start en tiers que hacen “idle” la app tras inactividad.
    • No definir Health Checks, dejando instancias enfermas atendiendo tráfico.
    • Confundir scale up con scale out y escalar el eje equivocado ante un problema de concurrencia.

    Cómo recorrer esta ruta

    Cada página de la ruta profundiza en uno de estos bloques y se conecta con los demás en el grafo de conocimiento. Una lectura recomendada:

    1. Fundamentos de Azure y el modelo de App Service.
    2. Plan vs. App vs. Web App y elección de tier.
    3. Configuración, identidad y Key Vault.
    4. Conectividad de red y aislamiento.
    5. Deployment slots y despliegue sin downtime.
    6. Escalado y diseño stateless.
    7. Observabilidad, health checks y alertas.
    8. Coste y optimización.

    Cuando termines deberías poder mirar una Web App desconocida y, en pocos minutos, entender cómo está desplegada, dónde guarda sus secretos, cómo escala y qué pasa cuando falla.

    Temas relacionados

    • Azure Functions — cómputo por eventos con escalado a cero.
    • Azure Container Apps — contenedores gestionados con más orquestación.
    • Azure Key Vault — gestión de secretos y certificados.
    • Application Insights — observabilidad y trazas distribuidas.