Saltar al contenido principal

Azure App Service: Una guía completa para profesionales de los datos

Esta guía te muestra cómo desplegar, gestionar y optimizar aplicaciones utilizando Azure App Service, con consejos prácticos sobre seguridad, escalado y ahorro de costes.
Actualizado 20 may 2025  · 15 min de lectura

Desplegar aplicaciones de forma eficiente se ha convertido en algo tan importante como desarrollarlas. Como profesional de los datos, a menudo me he dado cuenta de que, aunque dedicamos mucho tiempo a perfeccionar nuestros modelos y aplicaciones, el proceso de despliegue puede parecer a veces algo secundario. Ahí es donde entra en juego Azure App Service, una plataforma que simplifica el proceso de despliegue a la vez que proporciona sólidas funciones de escalabilidad, seguridad y supervisión.

En este completo tutorial, te guiaré en la configuración, despliegue y escalado de aplicaciones en Azure App Service.

Tanto si eres un profesional junior de los datos que busca desplegar su primera aplicación como si eres un profesional experimentado que busca optimizar su infraestructura en la nube, esta guía te proporcionará los pasos prácticos y las mejores prácticas.

¿Qué es Azure App Service?

Azure App Service es la oferta de Plataforma como Servicio (PaaS) de Microsoft que te permite crear y alojar aplicaciones web sin gestionar la infraestructura subyacente. Está diseñado para soportar múltiples lenguajes y marcos de programación, como Python, Java, Node.js, .NET y otros.

Antes de sumergirnos en el proceso de configuración, entendamos qué hace que Azure App Service sea especialmente valioso para los profesionales de los datos:

  • Despliegue simplificado: Céntrate en tu código y no en la gestión de la infraestructura.
  • Soporte para varios idiomas: Despliega aplicaciones escritas en Python, R (mediante contenedores) o cualquier otro lenguaje compatible.
  • Integración con servicios de datos: Conéctate fácilmente a Azure SQL, Cosmos DB u otros almacenes de datos.
  • Escalabilidad: Aumenta o disminuye en función de la demanda, especialmente útil para servir modelos de machine learning.
  • Autenticación incorporada: Protege tus aplicaciones sin escribir un extenso código de autenticación.
  • Integración CI/CD: Automatiza los despliegues desde GitHub, Azure DevOps u otros repositorios.

Como científico o ingeniero de datos, puede que te preguntes en qué se diferencia App Service de otras ofertas de Azure, como Azure Functions o Azure Kubernetes Service. La distinción clave es que App Service proporciona el término medio perfecto: másflexibilidad que las opciones sin servidor, pero menos complejidad que las plataformas de orquestación de contenedores.

> Para obtener una visión general básica del ecosistema y los servicios de Azure, explora este curso introductorio sobre Microsoft Azure.

Configurar Azure App Service

Ahora que ya sabemos qué es Azure App Service, vamos a ensuciarnos las manos y a configurar nuestro primer App Service. El proceso implica dos pasos principales: crear un plan App Service y luego crear una aplicación web dentro de ese plan.

Crear un plan Azure App Service

Un plan App Service define los recursos informáticos, la región y el nivel de precios para tus aplicaciones. Piensa que es la granja de servidores donde se ejecutarán tus aplicaciones. Varias aplicaciones pueden compartir un único plan de App Service, lo que lo hace rentable para ejecutar varias aplicaciones pequeñas.

A continuación te explicamos cómo crear un plan App Service:

  1. Accede al Portal Azure
  2. Haz clic en "Crear un recurso" en la navegación de la izquierda
  3. Busca "App Service Plan" y selecciónalo
  4. Haz clic en "Crear"
  5. Rellena los siguientes datos:
    • Suscripción: Selecciona tu suscripción a Azure
    • Grupo de recursos: Crea uno nuevo o selecciona un grupo existente
    • Nombre: Dale a tu plan un nombre descriptivo (por ejemplo, "plan-apps-datos")
    • Sistema operativo: Elige entre Windows o Linux (recomiendo Linux para la mayoría de las cargas de trabajo de la ciencia de datos)
    • Región: Selecciona una región cercana a tus usuarios o fuentes de datos
    • Nivel de precios: Selecciona el nivel adecuado en función de tus necesidades

Crear un plan App Service en el portal Azure.

Hablando de niveles de precios, Azure App Service ofrece varias opciones:

Nivel

Características

Lo mejor para

Gratis

1 GB de almacenamiento, infraestructura compartida, 60 minutos/día de cálculo

Desarrollo y pruebas

Compartido

1 GB de almacenamiento, 240 minutos/día de cálculo

Aplicaciones de bajo tráfico, desarrollo

Básico

10 GB de almacenamiento, máquinas virtuales dedicadas, dominios personalizados

Cargas de trabajo de producción con tráfico moderado

Estándar

Almacenamiento de 50 GB, autoescalado, ranuras de montaje

Aplicaciones de producción con mayor tráfico

Premium

250 GB de almacenamiento, mayor rendimiento, más opciones de escalado

Aplicaciones empresariales, necesidades de alto rendimiento

Para las aplicaciones de datos, suelo recomendarar con al menos un nivel Básico en producción, ya que el procesamiento de datos suele requerir más recursos que un simple servicio web. Si sirves modelos de machine learning que necesitan una gran capacidad de cálculo, considera el nivel Estándar por su capacidad de autoescalado.

También puedes crear un plan App Service utilizando la CLI de Azure:

# Create a resource group first if needed
az group create --name MyResourceGroup --location "East US"

# Create an App Service plan
az appservice plan create --name MyAppServicePlan --resource-group MyResourceGroup --sku B1 --is-linux

Crear una aplicación web App Service

Una vez que tengas un plan App Service, puedes crear una aplicación web dentro de él. La aplicación web es la instancia real de la aplicación que ejecutará tu código.

Sigue estos pasos para crear una aplicación web:

  1. En el Portal Azure, haz clic en "Crear un recurso".
  2. Busca "Web App" y selecciónala
  3. Haz clic en "Crear"
  4. Rellena los siguientes datos:
    • Suscripción: Selecciona tu suscripción a Azure
    • Grupo de recursos: Utiliza el mismo grupo que tu plan de App Service
    • Nombre: Esto formará parte de la URL de tu aplicación (por ejemplo, myapp.azurewebsites.net)
    • Publicar: Elige Código o Contenedor Docker (para este tutorial, seleccionaremos Código)
    • Pila de tiempo de ejecución: Selecciona el lenguaje/marco de tu aplicación (por ejemplo, Python 3.9)
    • Sistema operativo: Coincide con el SO de tu plan App Service
    • Región: Debe coincidir con la región de tu plan de App Service
    • Plan App Service: Selecciona el plan que creaste anteriormente

Creación de una App Service Web App en el portal Azure.

  1. Haz clic en "Revisar + crear" y luego en "Crear" una vez pasada la validación

Si utilizas la CLI de Azure, puedes crear una aplicación web con un solo comando:

# Create a Python web app
az webapp create --resource-group MyResourceGroup --plan MyAppServicePlan --name MyWebApp --runtime "PYTHON:3.9"

Tras crear tu aplicación web, Azure aprovisionará los recursos necesarios. Una vez completado, puedes navegar hasta tu nueva aplicación web haciendo clic en "Ir al recurso" o buscándola en tu grupo de recursos.

En este punto, deberías ver una página por defecto cuando visites la URL de tu aplicación (https://your-app-name.azurewebsites.net). Esto confirma que tu aplicación se está ejecutando, aunque todavía no tiene tu código; trataremos el despliegue en la siguiente sección.

Configurar los ajustes básicos de la app

Antes de pasar al despliegue, vamos a establecer una configuración básica para nuestra aplicación. Para las aplicaciones de datos, puede que necesites variables de entorno específicas para las conexiones a bases de datos o claves API.

Para configurar los ajustes de la app:

  1. Navega hasta tu aplicación web en el Portal Azure
  2. En la barra lateral izquierda, en "Configuración", selecciona "Variables de entorno".
  3. En la pestaña "Configuración de la aplicación", haz clic en "Añadir"
  4. Añade pares clave-valor para tus variables de entorno
  5. Pulsa "Guardar" cuando hayas terminado

Configurar los ajustes básicos de App Service en el portal Azure.

También puedes configurarlos mediante la CLI de Azure:

# Set an environment variable
az webapp config appsettings set --resource-group MyResourceGroup --name MyWebApp --settings DB_CONNECTION_STRING="your-connection-string"

Estos ajustes estarán disponibles como variables de entorno para tu aplicación, que es una forma segura de almacenar la configuración sin codificarla en tu código fuente.

Desplegar tu primera aplicación

Ahora que hemos configurado nuestra infraestructura Azure App Service, es el momento de desplegar nuestra aplicación. Azure App Service ofrece múltiples métodos de despliegue, dándote flexibilidad en función de tu flujo de trabajo y tus preferencias. En esta sección, exploraremos cómo desplegar aplicaciones utilizando el control de código fuente (GitHub o Azure Repos), FTP y repositorios Git locales.

Como profesional de los datos, este paso es crucial porque tiende un puente entre tu entorno de desarrollo local y una aplicación lista para la producción que pueda servir a tus modelos o conductos de procesamiento de datos.

> Para quienes se inician en los principios del despliegue, este curso de DevOps ofrece una introducción clara a los conceptos y herramientas fundamentales.

Desplegar desde GitHub o Azure Repos

Una de las características más potentes de Azure App Service es su capacidad integrada de despliegue continuo (DC). Al conectar tu App Service a un repositorio de GitHub o Azure DevOps, puedes desplegar automáticamente los cambios cada vez que se envíe código a una rama específica.

Este enfoque es especialmente valioso para los equipos de datos que trabajan en proyectos de colaboración, ya que:

  • Garantiza que todos los miembros del equipo se despliegan en el mismo entorno
  • Crea un registro de auditoría de las implantaciones
  • Reduce los errores de despliegue manual
  • Apoya las pruebas automatizadas como parte del proceso de despliegue

> Si eres nuevo en el control de versiones, el programa Fundamentos de GitHub puede ayudarte a ponerte al día con los conceptos básicos. También puedes explorar Azure DevOps como una alternativa sólida para gestionar tus pipelines de despliegue y el control de versiones.

A continuación te explicamos cómo configurar el despliegue continuo desde GitHub:

  1. Navega hasta tu App Service en el Portal Azure
  2. En la barra lateral izquierda, selecciona "Centro de despliegue".
  3. Selecciona "GitHub" como fuente
  4. Autentícate con tu cuenta de GitHub si se te pide
  5. Elige tu organización, repositorio y rama
  6. Pulsa "Guardar".

Centro de Despliegue en el Portal Azure.

Azure creará un archivo de flujo de trabajo de GitHub en tu repositorio que compila y despliega automáticamente tu aplicación cada vez que se envían cambios a la rama seleccionada. Este flujo de trabajo utiliza las Acciones de GitHub para gestionar el proceso CI/CD.

> Para automatizar aún más los despliegues, considera combinar Makefiles con Acciones de GitHub para agilizar los flujos de trabajo CI/CD.

Para las aplicaciones Python, el flujo de trabajo suele incluir pasos para:

  • Configurar Python
  • Instalar dependencias de requirements.txt
  • Ejecuta cualquier prueba
  • Despliega en Azure App Service

También puedes configurar el despliegue continuo utilizando la CLI de Azure:

# Set up GitHub continuous deployment
az webapp deployment source config --name MyWebApp --resource-group MyResourceGroup --repo-url https://github.com/username/repo --branch main --git-token <your-github-token>

Configurar los ajustes de despliegue

Para afinar tu despliegue, puedes configurar ajustes adicionales en el archivo de flujo de trabajo de GitHub o en el Portal Azure:

  1. Navega hasta tu App Service
  2. Selecciona "Centro de despliegue".
  3. Haz clic en "Ajustes".
  4. Aquí puedes configurar:
    • El proveedor de compilación (Kudu o Acciones de GitHub)
    • Flujos de trabajo de construcción y despliegue
    • Configuración de acceso al repositorio

Para las aplicaciones de ciencia de datos, puede que necesites añadir pasos de compilación personalizados que instalen paquetes científicos o ejecuten scripts de entrenamiento de modelos. Se pueden añadir directamente al archivo de flujo de trabajo de tu repositorio.

Despliegue mediante FTP o Git local

Aunque el despliegue continuo desde GitHub o Azure Repos se recomienda para entornos de equipo, a veces puedes necesitar métodos de despliegue más directos. Azure App Service admite tanto FTP como Git local para estos escenarios.

Despliegue FTP

El despliegue FTP es una forma sencilla de subir los archivos de tu aplicación directamente a Azure App Service. Este método es útil para actualizaciones rápidas o cuando se trata de aplicaciones que no requieren procesos de construcción complejos.

Para desplegar mediante FTP:

  1. En tu App Service, ve a "Centro de despliegue".
  2. Selecciona "FTP" y anota el punto final FTP, el nombre de usuario y la contraseña
  3. Utiliza cualquier cliente FTP (como FileZilla) para conectarte a tu App Service
  4. Sube los archivos de tu aplicación al directorio /site/wwwroot/

Para las aplicaciones Python, asegúrate de que tu archivo requirements.txt está incluido en la subida. Azure App Service instalará automáticamente los paquetes necesarios.

Despliegue Git local

El despliegue Git local te permite enviar código desde tu repositorio Git local directamente a Azure. Este método te da más control sobre el proceso de despliegue, sin dejar de aprovechar las capacidades de control de versiones de Git.

Para configurar el despliegue local de Git:

  1. En tu App Service, ve a "Centro de despliegue".
  2. Selecciona "Git local".
  3. Pulsa "Guardar".
  4. Ve a "Credenciales de despliegue" para configurar o ver tus credenciales
  5. Añade el Git remoto de Azure a tu repositorio local:
# Add the Azure remote
git remote add azure https://username@your-app-name.scm.azurewebsites.net/your-app-name.git

# Push your code to Azure
git push azure main

Cuando envíes el código a Azure remoto, la plataforma creará y desplegará automáticamente tu aplicación.

Supervisar el estado del despliegue

Independientemente del método de despliegue que elijas, es importante supervisar el proceso de despliegue para detectar a tiempo cualquier problema. Azure proporciona varias formas de realizar un seguimiento del estado de la implantación:

  1. En el Portal Azure, ve a tu App Service
  2. Selecciona "Centro de despliegue".
  3. Consulta la pestaña "Registros" para ver los registros detallados del despliegue
  4. Para los despliegues en GitHub, también puedes consultar la pestaña Acciones en tu repositorio de GitHub

Supervisa el estado del despliegue en el Centro de Despliegue del portal Azure.

Si falla una implantación, los registros proporcionarán información sobre lo que ha ido mal. Los problemas más comunes son:

  • Faltan dependencias en requirements.txt
  • Errores de sintaxis en tu código
  • Problemas de configuración en tu aplicación
  • Limitaciones de memoria durante la construcción

Para solucionar problemas de despliegue:

  1. Revisa a fondo los registros de despliegue
  2. Comprueba si tu aplicación se ejecuta localmente
  3. Asegúrate de que todas las dependencias aparecen en tu archivo requirements.txt
  4. Comprueba que el punto de entrada de tu aplicación coincide con lo que espera Azure

En el caso de las aplicaciones de ciencia de datos, los fallos de despliegue suelen deberse a grandes instalaciones de paquetes o a operaciones que requieren mucha memoria durante el arranque. Si te encuentras con estos problemas, plantéate

  • Descomponer las grandes dependencias en componentes más pequeños
  • Utilizar alternativas ligeras para las implantaciones de producción
  • Preentrenar modelos y almacenarlos como artefactos en lugar de entrenarlos durante el despliegue

Obtén la certificación AZ-900 de Azure

Prepárate para el PL-300 de Azure y consigue un 50% de descuento en el precio del examen.
Certifica tus conocimientos de Azure

Configurar Azure App Service

Una vez desplegada tu aplicación, el siguiente paso es configurar varios aspectos de tu Azure App Service para garantizar que se ejecuta de forma óptima y segura. En esta sección, trataremos los dominios personalizados, la autenticación y la configuración de la aplicación.

Configurar dominios personalizados

Por defecto, tu App Service es accesible a través de una URL como your-app-name.azurewebsites.net. Para las aplicaciones de producción, probablemente querrás utilizar tu propio nombre de dominio. A continuación te explicamos cómo configurar un dominio personalizado:

  1. Compra un dominio a un registrador de dominios si aún no tienes uno
  2. En tu App Service, ve a "Dominios personalizados" en la barra lateral izquierda
  3. Haz clic en "Añadir dominio personalizado".
  4. Introduce tu nombre de dominio (por ejemplo, myapp.example.com)
  5. Sigue las instrucciones para verificar la propiedad del dominio
    • Tendrás que añadir un registro TXT o CNAME a tu configuración DNS

Configurar dominios personalizados en el portal App Service.

Para los dominios apex (como example.com sin las www), tendrás que crear un registro A que apunte a la dirección IP de tu App Service. Puedes encontrar esta dirección IP en la página de configuración del dominio personalizado.

También puedes gestionar dominios personalizados utilizando la CLI de Azure:

# Add a custom domain
az webapp config hostname add --webapp-name MyWebApp --resource-group MyResourceGroup --hostname www.example.com

Vinculación de certificados SSL

Para las aplicaciones seguras, especialmente las que manejan datos sensibles, es esencial activar HTTPS. Azure App Service facilita esta tarea proporcionando certificados gestionados gratuitos o permitiéndote subir los tuyos propios.

Para añadir un certificado SSL:

  1. En tu App Service, ve a "Configuración TLS/SSL".
  2. Selecciona "Certificados de clave privada"
  3. Elige una de las siguientes opciones:
    • Crear un certificado gratuito gestionado por App Service
    • Importar un certificado de App Service
    • Subir un certificado PFX
  4. Una vez añadido el certificado, ve a "Enlaces".
  5. Añade un enlace SSL para tu dominio personalizado

Para las aplicaciones de datos que manejan información sensible, recomiendo activar el modo sólo HTTPS para garantizar que todo el tráfico está encriptado:

  1. En "Configuración TLS/SSL", ve a la sección "Sólo HTTPS".
  2. Activa el interruptor
  3. Pulsa "Guardar".

Configurar la autenticación y la autorización

Muchas aplicaciones de datos requieren la autenticación del usuario para controlar el acceso a datos o funcionalidades sensibles. Azure App Service proporciona opciones de autenticación integradas que pueden ahorrarte la implementación de la lógica de autenticación en tu código.

Para configurar la autenticación:

  1. En tu App Service, ve a "Autenticación" en la barra lateral izquierda
  2. Haz clic en "Añadir proveedor de identidad"
  3. Elige tu proveedor de identidad:
    • Microsoft (Azure AD)
    • Google
    • Facebook
    • Twitter
    • GitHub
    • Conexión OpenID
  4. Configura los ajustes del proveedor
  5. Configurar las URL de redireccionamiento y las configuraciones del almacén de tokens

Configurar la autenticación y autorización para Azure App Service.

Para las aplicaciones de datos empresariales, Azure Active Directory suele ser la opción preferida, ya que se integra con las identidades corporativas existentes y admite funciones como el acceso condicional y la autenticación multifactor.

También puedes configurar restricciones de autorización para controlar quién puede acceder a tu aplicación:

  1. En la configuración de autenticación, selecciona "Editar" junto a tu proveedor de identidad
  2. En "Restringir acceso", elige una de las siguientes opciones:
    • Permitir solicitudes no autenticadas
    • Requerir autenticación
    • Permitir solicitudes anónimas (sin acción)
  3. Configura las URL de redireccionamiento externo permitidas si es necesario

Configuración de la aplicación y cadenas de conexión

Antes hemos tratado brevemente los ajustes de la aplicación, pero vamos a profundizar en cómo puedes utilizarlos para configurar eficazmente tu aplicación de datos.

Los ajustes de la aplicación en Azure App Service sirven como variables de entorno para tu aplicación. Son especialmente útiles para:

  • Cadenas de conexión a la base de datos
  • Claves API
  • Banderas de características
  • Configuraciones específicas del entorno

Para añadir o modificar los ajustes de la app:

  1. En tu App Service, ve a "Configuración" en la barra lateral izquierda
  2. Selecciona la pestaña "Configuración de la aplicación".
  3. Haz clic en "Nueva configuración de la aplicación" para añadir un par clave-valor
  4. Para los valores sensibles, puedes activar la opción "configuración de la ranura de despliegue" para evitar que se intercambien durante los cambios de ranura

Configurar variables de entorno en Azure App Service

Para las aplicaciones de datos, los ajustes habituales son

  • Cadenas de conexión a la base de datos
  • Claves de acceso a la cuenta de almacenamiento
  • Puntos finales del modelo de machine learning
  • Banderas de características para pruebas A/B

También puedes configurar las cadenas de conexión por separado, lo que resulta útil para las conexiones a bases de datos:

  1. En la página de Configuración, selecciona la pestaña "Cadenas de conexión".
  2. Haz clic en "Nueva cadena de conexión"
  3. Proporciona un nombre, un valor y un tipo (SQL Server, MySQL, PostgreSQL, etc.)

Las cadenas de conexión también están disponibles para tu aplicación como variables de entorno, pero con una convención de nomenclatura diferente dependiendo de tu lenguaje/framework.

Para recuperar la configuración en tu aplicación Python:

import os

# Retrieve an application setting
api_key = os.environ.get('API_KEY')

# Retrieve a connection string (Python)
connection_string = os.environ.get('SQLCONNSTR_MyDatabase')

Utilizar referencias de Key Vault

Para información muy sensible, como credenciales de bases de datos o claves API, Azure Key Vault proporciona una capa adicional de seguridad. Puedes hacer referencia a los secretos de Key Vault directamente en la configuración de tu aplicación:

  1. Crea una Bóveda de Claves de Azure y añade tus secretos
  2. Asegúrate de que tu App Service tiene una identidad gestionada
  3. Concede a la identidad acceso a la Bóveda de Claves
  4. En la configuración de tu aplicación, haz referencia al secreto utilizando el formato: @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)

Este enfoque separa la información sensible de la configuración de tu aplicación y proporciona una gestión centralizada del secreto.

Escalado y gestión de Azure App Service

Ahora que tu aplicación está desplegada y configurada, centrémonos en garantizar que funcione bien, siga siendo fiable y se adapte a las cargas de trabajo cambiantes. 

Escalar y gestionar adecuadamente tu Azure App Service es especialmente importante para las aplicaciones de datos, que a menudo tienen necesidades de recursos variables y pueden procesar información sensible.

Escalar los planes de App Service

Una de las principales ventajas de las plataformas en la nube como Azure es la posibilidad de ampliar o reducir los recursos en función de la demanda. Para las aplicaciones de datos, esto es especialmente valioso porque las cargas de trabajo suelen variar significativamente, desde periodos de procesamiento intensivo de datos hasta momentos más tranquilos con tráfico mínimo.

Azure App Service ofrece dos métodos principales de escalado:

Escala vertical (Escala arriba/abajo)

El escalado vertical implica cambiar el tamaño de tu plan de App Service para proporcionar más o menos CPU, memoria y espacio en disco. Esto es útil cuando el rendimiento de tu aplicación está limitado por los recursos de una sola instancia.

Para escalar verticalmente:

  1. En tu plan App Service, selecciona "Ampliar (plan App Service)" en la barra lateral izquierda
  2. Elige un nivel de precios o un tamaño de instancia diferente en función de tus necesidades
  3. Haz clic en "Aplicar".

Ampliación de un plan Azure App Service.

Para aplicaciones de datos, considera el escalado vertical cuando:

  • Tu aplicación está experimentando presión de memoria debido a grandes operaciones de procesamiento de datos
  • Estás alcanzando los límites de la CPU durante la inferencia del modelo
  • Necesitas almacenamiento adicional para la caché de datos o archivos temporales

Escala horizontal (Escala hacia fuera/in)

El escalado horizontal cambia el número de instancias de máquina virtual que ejecutan tu aplicación. Este enfoque es ideal para distribuir la carga y mejorar la disponibilidad.

Para escalar horizontalmente:

  1. En tu plan App Service, selecciona "Ampliación (plan App Service)" en la barra lateral izquierda
  2. Establece el recuento de instancias manualmente o configura reglas de autoescalado
  3. Pulsa "Guardar".

Para el escalado manual, basta con ajustar el recuento de instancias al número deseado. Sin embargo, el autoescalado proporciona más flexibilidad al ajustar automáticamente los recursos en función de las métricas.

Configurar reglas de autoescalado

El autoescalado es especialmente valioso para aplicaciones de datos con cargas de trabajo variables. Por ejemplo, un modelo de machine learning que sirva a la API podría experimentar un mayor tráfico durante el horario laboral y un tráfico menor durante la noche.

Para configurar el autoescalado:

  1. En la sección "Escalar", selecciona "Activar autoescala".
  2. Define una condición de escala con los siguientes componentes:
    • Un recuento de instancias por defecto
    • Reglas de escalado (cuándo añadir instancias)
    • Reglas de escalado (cuándo eliminar instancias)
    • Reglas opcionales basadas en horarios

Escalado y plan Azure App Service

He aquí un ejemplo de una regla común de autoescalado:

  • Escala: Añade una instancia cuando el porcentaje de CPU sea > 70% durante 10 minutos
  • Escala en: Eliminar una instancia cuando el porcentaje de CPU < 30% durante 10 minutos

También puedes crear reglas más sofisticadas basadas en:

  • Uso de la memoria
  • Longitud de la cola de datos
  • Métricas personalizadas de Application Insights

Para las cargas de trabajo de la ciencia de datos, considera estas estrategias de autoescalado:

  • Si tu aplicación sirve a modelos de machine learning, escala en función de la longitud de la cola de peticiones para garantizar que la latencia de predicción se mantiene baja
  • Para los procesos ETL, programa capacidad adicional durante las ventanas de procesamiento conocidas
  • Para aplicaciones con usuarios globales, utiliza el escalado basado en horarios para garantizar una capacidad adecuada en diferentes zonas horarias

También puedes configurar el autoescalado utilizando Azure CLI:

# Create an autoscale setting with a rule to scale out when CPU > 70%
az monitor autoscale create --resource-group MyResourceGroup --resource MyAppServicePlan --resource-type "Microsoft.Web/serverfarms" --name MyAutoScaleConfig --min-count 2 --max-count 5 --count 2

# Add a scale out rule
az monitor autoscale rule create --resource-group MyResourceGroup --autoscale-name MyAutoScaleConfig --scale out 1 --condition "Percentage CPU > 70 avg 10m"

# Add a scale in rule
az monitor autoscale rule create --resource-group MyResourceGroup --autoscale-name MyAutoScaleConfig --scale in 1 --condition "Percentage CPU < 30 avg 10m"

Monitorización y diagnóstico

Una supervisión eficaz es crucial para mantener la fiabilidad de las aplicaciones de datos. Azure proporciona herramientas de supervisión completas que te dan visibilidad sobre el rendimiento de tu aplicación, los patrones de uso y los posibles problemas.

Azure Monitor y Application Insights

Azure Monitor es la base para supervisar los servicios de Azure, mientras que Application Insights proporciona una visión más profunda específica de las aplicaciones.

Para activar Application Insights para tu App Service:

  1. En tu App Service, selecciona "Application Insights" en la barra lateral izquierda
  2. Haz clic en "Activar Application Insights".
  3. Configura un recurso Application Insights nuevo o existente
  4. Haz clic en "Aplicar".

Azure Monitor y Application Insights.

Una vez activada, Application Insights recopila una gran cantidad de datos sobre tu aplicación, incluyendo:

  • Tasas de solicitud, tiempos de respuesta y tasas de fracaso
  • Llamadas de dependencia (bases de datos, API externas)
  • Rendimiento de la vista de página
  • Registros de excepciones
  • Eventos personalizados que defines en código

Para las aplicaciones Python, necesitarás instalar el SDK de Application Insights:

pip install opencensus-ext-azure

Y luego añade instrumentación a tu aplicación:

from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer

# Configure the Azure exporter
azure_exporter = AzureExporter(
    connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000'
)

# Create a tracer
tracer = Tracer(exporter=azure_exporter, sampler=ProbabilitySampler(1.0))

# Use the tracer in your application
with tracer.span(name="main_function"):
    # Your code here
    pass

Ver registros y configurar alertas

Azure App Service recopila automáticamente registros que pueden ayudarte a diagnosticar problemas:

  1. En tu App Service, selecciona "Log stream" para ver los registros en tiempo real
  2. Para un análisis más detallado, ve a "Registros de diagnóstico" y activa el registro de aplicaciones
  3. Configura el nivel de registro (Error, Advertencia, Información, Verboso)

Visualización de registros en Azure App Service.

Para las aplicaciones de datos, presta especial atención a:

  • Excepciones por falta de memoria, frecuentes al procesar grandes conjuntos de datos
  • Tiempos de espera de conexión a fuentes de datos
  • Cuellos de botella en el rendimiento durante las operaciones de transformación de datos

Configurar alertas garantiza que se te notifiquen los problemas antes de que afecten a los usuarios:

  1. En Azure Monitor, selecciona "Alertas".
  2. Haz clic en "Nueva regla de alerta"
  3. Selecciona tu App Service como recurso
  4. Define la condición que debe activar la alerta
  5. Configura grupos de acción para determinar quién debe ser notificado y cómo
  6. Ponle un nombre a tu alerta y guárdala

Las alertas habituales para aplicaciones de datos incluyen:

  • Uso elevado de memoria (>80%)
  • Errores del servidor (respuestas 5xx)
  • Largos tiempos de procesamiento para operaciones clave
  • Intentos fallidos de conexión de datos

Monitorización personalizada para aplicaciones de datos

Para las necesidades de seguimiento de datos específicos, considera la posibilidad de realizar un seguimiento de estas métricas personalizadas:

  • Rendimiento del proceso de datos (registros procesados por minuto)
  • Latencia de inferencia del modelo
  • Tiempo de cálculo de las características
  • Ratios de aciertos/errores de caché

Puedes enviar métricas personalizadas a Application Insights utilizando el SDK:

from opencensus.ext.azure import metrics_exporter
from opencensus.stats import aggregation, measure, stats, view

# Create a metrics exporter
exporter = metrics_exporter.new_metrics_exporter(
    connection_string='InstrumentationKey=00000000-0000-0000-0000-000000000000')

# Create and record custom metrics
prediction_time = measure.MeasureFloat(
    "prediction_time", "Time taken for model inference", "ms")
prediction_time_view = view.View(
    "prediction_time_view", "Model inference time", [], prediction_time, aggregation.LastValueAggregation())

# Register the view
stats.stats.view_manager.register_view(prediction_time_view)

# Record metrics
mmap = stats.stats.stats_recorder.new_measurement_map()
mmap.measure_float_put(prediction_time, 175.5)  # Record 175.5ms inference time
mmap.record()

# Force metrics to be sent immediately
exporter.export_metrics([])

Copia de seguridad y restauración

Las aplicaciones de datos suelen gestionar información valiosa, por lo que las capacidades de copia de seguridad y recuperación son esenciales. Azure App Service proporciona una funcionalidad de copia de seguridad integrada que puede capturar los archivos, la configuración y las bases de datos conectadas de tu aplicación.

Configurar copias de seguridad automáticas

Para configurar las copias de seguridad:

  1. En tu App Service, selecciona "Copias de seguridad" en la barra lateral izquierda
  2. Haz clic en "Configurar".
  3. Establece la programación de la copia de seguridad (diaria, semanal o personalizada)
  4. Especifica una cuenta de almacenamiento para los archivos de copia de seguridad
  5. Incluir opcionalmente bases de datos en la copia de seguridad
  6. Pulsa "Guardar".

Configurar y visualizar las copias de seguridad en Azure App service.

Para las aplicaciones de datos, ten en cuenta estas buenas prácticas de copia de seguridad:

  • Programa las copias de seguridad en periodos de baja actividad
  • Asegúrate de que tu cuenta de almacenamiento está en la misma región que tu App Service para que las copias de seguridad sean más rápidas
  • Para aplicaciones con cambios frecuentes de datos, configura copias de seguridad más frecuentes
  • Recuerda que las bases de datos grandes pueden superar los límites de tamaño de la copia de seguridad; considera estrategias de copia de seguridad específicas de la base de datos para estos casos

Restaurar desde una copia de seguridad

Si necesitas restaurar tu aplicación:

  1. En la sección Copias de seguridad, selecciona el punto de copia de seguridad desde el que quieres restaurar
  2. Haz clic en "Restaurar".
  3. Elige si quieres restaurar el contenido de la app, la configuración y las bases de datos conectadas
  4. Especifica el App Service de destino (puede ser el mismo o una app diferente)
  5. Pulsa "Aceptar" para iniciar el proceso de restauración

Para las aplicaciones de datos críticos, recomiendo probar periódicamente el proceso de restauración para garantizar que tu estrategia de recuperación funciona como esperas.

Estrategias de copia de seguridad específicas de la base de datos

Aunque las copias de seguridad de App Service pueden incluir las bases de datos conectadas, las aplicaciones intensivas en datos suelen beneficiarse de estrategias de copia de seguridad específicas para las bases de datos:

  • Para las bases de datos Azure SQL, configura copias de seguridad automáticas con restauración puntual
  • Para Cosmos DB, utiliza el modo de copia de seguridad continua
  • Para grandes conjuntos de datos almacenados en Azure Storage, considera la posibilidad de utilizar la replicación de cuentas de almacenamiento y el control de versiones

Seguridad y cumplimiento en Azure App Service

La seguridad es primordial para las aplicaciones de datos, especialmente las que manejan información sensible o regulada. Azure App Service proporciona varias funciones de seguridad para ayudar a proteger tus aplicaciones.

Control de acceso basado en roles (RBAC)

RBAC te permite controlar quién puede gestionar tus recursos de App Service:

  1. En el Portal Azure, navega hasta tu App Service
  2. Selecciona "Control de acceso (IAM)" en la barra lateral izquierda
  3. Haz clic en "Añadir" y luego en "Añadir asignación de funciones"
  4. Elige el papel adecuado:
    • Colaborador: Puede gestionar App Service pero no puede conceder acceso a otros
    • Lector: Puede ver pero no cambiar nada
    • Colaborador del sitio web: Puede gestionar sitios web pero no el plan App Service
  5. Selecciona los usuarios, grupos o responsables de servicio a los que asignar el rol
  6. Pulsa "Guardar".

RBAC en Azure App Service.

Para los equipos de datos, considera la posibilidad de crear roles personalizados que limiten el acceso a operaciones específicas en función de las responsabilidades del puesto.

Restricciones IP y redes

Las restricciones de IP te permiten controlar qué direcciones IP pueden acceder a tu App Service:

  1. En tu App Service, selecciona "Redes" en la barra lateral izquierda
  2. Ir a "Restricciones de acceso"
  3. Haz clic en "Añadir regla".
  4. Especifica el rango de direcciones IP, la acción (Permitir/Denegar), la prioridad y el nombre
  5. Haz clic en "Añadir regla".

Restricciones de IP y redes en Azure App Service.Para las aplicaciones de datos que se conectan a recursos internos, ten en cuenta:

  • Integración VNet: Conecta tu App Service a tu red virtual
  • Puntos finales de servicio: Conexiones seguras a servicios Azure como SQL y Almacenamiento
  • Puntos finales privados: Crea un enlace privado a tu App Service desde tu red virtual

Para configurar la Integración VNet:

  1. En la sección Red, selecciona "Integración VNet".
  2. Haz clic en "Añadir VNet"
  3. Selecciona o crea una red virtual y una subred
  4. Pulsa "OK".

Esta integración es especialmente útil para conectarte de forma segura a bases de datos u otras fuentes de datos de tu red.

Solución de problemas comunes de Azure App Service

Incluso con una planificación cuidadosa, pueden surgir problemas con tu App Service. He aquí algunos problemas habituales y sus soluciones, centrándonos en los escenarios de aplicación de datos.

Diagnosticar el fallo de una app

Si tu aplicación se bloquea o no responde:

  1. Comprueba los registros del App Service:
    • Ve a "Flujo de registros" para ver los registros en tiempo real
    • Comprueba los datos históricos en "Registros de diagnóstico".
  2. Utiliza Application Insights para identificar excepciones
  3. Ejecuta las herramientas de diagnóstico Kudu:
    • Navega hasta https://.scm.azurewebsites.net/DebugConsole
    • Utiliza la consola para inspeccionar archivos y procesos

Entre las causas habituales de fallos en las aplicaciones de datos se incluyen:

  • Límites de memoria: El procesamiento de grandes conjuntos de datos puede superar la memoria disponible
  • Problemas de dependencia: Paquetes ausentes o incompatibles
  • Errores de configuración: Cadenas de conexión o variables de entorno incorrectas

Para operaciones intensivas en memoria, considera:

  • Escalar a un nivel superior con más memoria
  • Implementar la fragmentación de datos para procesar lotes más pequeños
  • Utilizar algoritmos o estructuras de datos más eficientes

Depurar problemas de rendimiento

Si tu aplicación funciona lentamente:

  1. Utiliza la monitorización del rendimiento de Application Insights:
    • Comprueba la hoja de Rendimiento para identificar las peticiones lentas
    • Busca llamadas de dependencia que puedan estar causando cuellos de botella
  2. Revisa las métricas del servidor en Azure Monitor:
    • Utilización de CPU y memoria
    • Longitud de la cola HTTP
  3. Comprueba el rendimiento de las consultas a la base de datos para operaciones con muchos datos

Para mejorar el rendimiento:

  • Implementar el almacenamiento en caché para consultas frecuentes
  • Optimizar los índices de las bases de datos
  • Considera la posibilidad de ampliar o reducir
  • Utiliza operaciones asíncronas para procesos de larga duración

Revisar registros y mensajes de error

Azure App Service proporciona varias opciones de registro:

  1. Registros de solicitud: Los propios registros de tu aplicación
  2. Registros del servidor web: Registros de peticiones y errores HTTP
  3. Registros de despliegue: Información sobre tu proceso de despliegue
  4. Registro detallado de errores: Más información sobre errores HTTP

Para configurar un registro más detallado:

  1. En tu App Service, ve a "Registros de diagnóstico".
  2. Activa los tipos de registro adecuados
  3. Establece el nivel adecuado (Error, Advertencia, Información, Verboso)
  4. Elige si deseas almacenar los registros en el sistema de archivos o en el almacenamiento blob

Para las aplicaciones Python, puedes mejorar el registro con:

import logging
import sys

# Configure logging
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    handlers=[
        logging.StreamHandler(sys.stdout)
    ]
)

# Use logging in your application
logger = logging.getLogger(__name__)
logger.info("Processing data batch")
logger.error("Failed to connect to database", exc_info=True)

Gestión de costes con Azure App Service

A menudo, las aplicaciones de datos pueden consumir muchos recursos, por lo que comprender y optimizar los costes es especialmente importante. En esta sección final, exploraremos los modelos de precios de Azure App Service y las estrategias para gestionar los costes de forma eficaz.

Comprender los precios de Azure App Service

El precio de Azure App Service se basa principalmente en el plan de App Service que selecciones. Vamos a desglosar los factores de coste que hay que tener en cuenta:

Niveles del plan App Service

Como hemos explicado antes, Azure ofrece varios niveles de precios, cada uno con capacidades y costes diferentes :

Nivel

Coste mensual (USD)

Características

Lo mejor para

Gratis

$0

1 GB de almacenamiento, infraestructura compartida, 60 minutos/día de cálculo

Desarrollo, aprendizaje

Compartido (D1)

$10-15

1 GB de almacenamiento, 240 minutos/día de cálculo

Sitios con poco tráfico, pruebas

Básico (B1-B3)

$55-220

Máquinas virtuales dedicadas, escala manual, dominios personalizados

Cargas de trabajo de producción, tráfico de bajo a medio

Estándar (S1-S3)

$70-400

Autoescalado, ranuras de montaje, copias de seguridad diarias

Aplicaciones de producción con tráfico variable

Premium (P1V2-P3V2)

$80-500

Rendimiento mejorado, más opciones de escalado

Necesidades de alto rendimiento, grandes aplicaciones

Aislado

$300-1000+

Aislamiento dedicado red/ordenador

Aplicaciones con requisitos de cumplimiento estrictos

Nota: Los precios son aproximados y pueden variar según la región o con los cambios de precios de Azure. Para obtener la información más reciente n, consulta la página oficial de precios.

Factores de coste adicionales

Más allá del plan básico App Service, ten en cuenta estos costes adicionales:

  1. Transferencia de datos salientes: Después de los primeros 5 GB mensuales (que son gratuitos), la transferencia de datos al exterior conlleva gastos. Para las aplicaciones de datos que sirven grandes conjuntos de datos a los usuarios, esto puede llegar a ser significativo.
  2. Certificados SSL: Aunque Azure proporciona certificados gratuitos, los certificados personalizados tienen costes asociados.
  3. Dominios personalizados: El primer dominio personalizado es gratuito, pero los dominios adicionales pueden tener coste.
  4. Almacenamiento: El almacenamiento adicional al incluido en tu nivel tiene un coste extra.
  5. Complementos y servicios conectados: Las bases de datos, los servicios de caché y otros recursos de Azure conectados a tu App Service incurren en sus propios cargos.

Costes de seguimiento

Azure proporciona herramientas para controlar y prever tus gastos:

  1. Gestión de costes Azure: Accede a él en el Portal Azure para ver los costes por recurso, establecer presupuestos y crear alertas.
  2. Calculadora de precios: Utiliza la Calculadora de precios de Azure paraestimar los costes antes de la implantación.
  3. Recomendaciones del asesor: Azure Advisorproporciona sugerencias de optimización de costes basadas en tus patrones de uso.

> Gestionar eficazmente los costes, la seguridad y el rendimiento de los servicios Azure, se recomienda encarecidamente este curso sobre Gestión y Gobierno de Azure.altamente recomendable.

Estrategias de optimización de costes

Ahora que entendemos el modelo de precios, vamos a explorar estrategias para optimizar los costes de las aplicaciones de datos en Azure App Service.

Dimensionar correctamente tu plan de App Service

Una de las formas más eficaces de controlar los costes es asegurarte de que utilizas el plan App Service adecuado:

  1. Empieza con una línea de base adecuada: En lugar de optar por defecto por un plan de alto nivel, empieza con un plan moderado y amplíalo sólo cuando sea necesario.
  2. Supervisa la utilización de los recursos: Utiliza Azure Monitor para realizar un seguimiento del uso de la CPU, la memoria y el disco. Si estás constantemente por debajo del 50% de utilización, plantéate reducir el tamaño.
  3. Adecua el nivel a tu carga de trabajo: Para aplicaciones de datos con cargas de trabajo predecibles y constantes, un nivel Básico o Estándar puede ser suficiente. Reserva los niveles Premium para aplicaciones con requisitos de rendimiento exigentes.

Para las aplicaciones de la ciencia de datos, ten en cuenta estas recomendaciones específicas:

  • Modelo que sirve API con requisitos de baja latencia pero tráfico moderado suelen funcionar bien en planes Estándar con autoescalado.
  • Las cadenas de procesamiento de datos que se ejecutan en horarios, a menudo pueden utilizar planes Básicos si el tiempo de procesamiento no es crítico.
  • Los cuadros de mando interactivos con muchos usuarios simultáneos suelen requerir planes Estándar o Premium para mantener la capacidad de respuesta.

Utilizar eficazmente el autoescalado

El autoescalado no sólo sirve para hacer frente a los picos de tráfico: también es una potente herramienta de optimización de costes:

  1. Escala a cero cuando sea posible: Para aplicaciones no críticas o entornos de desarrollo, considera la posibilidad de reducir la escala a un mínimo de cero instancias durante las horas de menor actividad.
  2. Establece los umbrales de escala adecuados: No reduzcas la escala de forma demasiado agresiva. Empieza con umbrales conservadores (como un 70% de CPU) y ajústalos en función de las observaciones de rendimiento.
  3. Implementa el escalado programado: Para cargas de trabajo predecibles, utiliza reglas de escalado programado en lugar del autoescalado basado en métricas. Por ejemplo, aumenta la escala durante el horario laboral y disminúyela durante las noches y los fines de semana.
# Example: Create a scheduled autoscale rule to scale down at night
az monitor autoscale rule create --resource-group MyResourceGroup --autoscale-name MyAutoScaleConfig --scale to 1 --condition "Current time is between 22:00 and 06:00 recurring"

Optimización de los entornos de desarrollo y pruebas

Los entornos de desarrollo y prueba ofrecen importantes oportunidades de ahorro de costes:

  1. Utiliza el nivel Gratuito o Compartido para entornos de desarrollo siempre que sea posible.
  2. Implementa el apagado automático para entornos no productivos durante las horas de menor actividad. Aunque App Service no tiene una función de apagado integrada, puedes utilizar Azure Automation o Logic Apps para detener e iniciar las aplicaciones según un calendario.
  3. Aprovecha eficazmente las franjas horarias de despliegue: En lugar de mantener entornos separados para la puesta en escena, utiliza ranuras de despliegue en un único App Service de producción. Este enfoque te permite intercambiar entornos sin duplicar costes.
# Create a staging slot
az webapp deployment slot create --name MyWebApp --resource-group MyResourceGroup --slot staging

# Swap staging to production
az webapp deployment slot swap --name MyWebApp --resource-group MyResourceGroup --slot staging --target-slot production

Optimizaciones de costes específicas de los datos

Para las aplicaciones de datos, considera estos enfoques especializados de ahorro de costes:

  1. Descarga el procesamiento pesado: En lugar de realizar un procesamiento intensivo de datos en tu App Service, considera la posibilidad de utilizar servicios dedicados como Azure Functions (para un procesamiento sin servidor) o Azure Data Factory (para flujos de trabajo ETL).
  2. Implementa el almacenamiento en caché: Para los datos que no cambian con frecuencia, aplica el almacenamiento en caché para reducir las llamadas a la base de datos y el cálculo. Azure Cache para Redis se integra bien con App Service.
  3. Optimiza los costes de la base de datos: A menudo, la base de datos conectada a tu App Service cuesta más que el propio App Service. Considéralo:
    • Utilizar pools elásticos para bases de datos SQL
    • Implementar una indexación adecuada
    • Utilizar almacenamiento por niveles para los datos a los que se accede con menos frecuencia
  4. Comprime las respuestas: Para las aplicaciones que sirven grandes conjuntos de datos a los usuarios, activa la compresión para reducir los costes de transferencia de datos salientes:
# Example for Flask applications
from flask import Flask
from flask_compress import Compress

app = Flask(__name__)
Compress(app)

Técnicas Avanzadas para Aplicaciones de Datos

Más allá de la optimización de costes, existen varias técnicas avanzadas para mejorar el rendimiento y las capacidades de tus aplicaciones de datos en Azure App Service.

Containerizar aplicaciones de datos

Los contenedores proporcionan coherencia entre entornos y pueden simplificar la gestión de dependencias, un reto habitual en las aplicaciones de datos con requisitos complejos:

  1. En el Portal Azure, crea una nueva Web App
  2. Selecciona "Contenedor Docker" en lugar de "Código" para la opción de publicación
  3. Elige Contenedor único y especifica tu imagen Docker

Para las aplicaciones de ciencia de datos, considera la posibilidad de mantener una imagen contenedor base con bibliotecas de uso común como NumPy, pandas y scikit-learn para acelerar los despliegues.

Implementar CI/CD para flujos de trabajo de datos

Yendo más allá del CI/CD básico, considera la posibilidad de implantar pruebas automatizadas específicas para aplicaciones de datos:

  1. Pruebas de validación de datos: Verifica que el procesamiento de datos produce los resultados esperados
  2. Pruebas de rendimiento del modelo: Garantizar que los modelos ML cumplen los umbrales de precisión y rendimiento
  3. Pruebas de carga: Validar que la aplicación maneja los volúmenes de datos previstos

Ejemplo de flujo de trabajo de Acciones de GitHub para una aplicación de datos:

name: Data App CI/CD

on:
  push:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
        pip install pytest pytest-cov
    - name: Test with pytest
      run: |
        pytest tests/data_validation_tests.py
        pytest tests/model_performance_tests.py

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Deploy to Azure
      uses: azure/webapps-deploy@v2
      with:
        app-name: 'my-data-app'
        publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}

Utilizar WebJobs para el procesamiento en segundo plano

Para las aplicaciones de datos que requieren un procesamiento en segundo plano, Azure WebJobs proporciona una forma de ejecutar scripts o programas en el mismo contexto que tu App Service:

  1. En tu App Service, ve a "WebJobs" en la barra lateral izquierda
  2. Haz clic en "Añadir".
  3. Sube tu archivo de script (por ejemplo, un script de Python para procesar datos)
  4. Elige el tipo de activación (manual, programada o continua)
  5. Pulsa "OK".

Los WebJobs son especialmente útiles para:

  • Limpieza programada de datos
  • Generación periódica de informes
  • Reentrenamiento periódico del modelo
  • Sincronización de datos entre sistemas

Conectividad híbrida para datos locales

Muchas organizaciones tienen datos que permanecen en sus instalaciones. Azure App Service puede conectarse a estos datos utilizando:

  1. Integración VNet: Conecta tu App Service a una red virtual que tenga conectividad con tu red local a través de ExpressRoute o VPN.
  2. Conexiones híbridas: Una alternativa más sencilla que no requiere VPN y que permite a tu App Service llegar a servidores locales específicos por nombre de host y puerto.

Para configurar Conexiones Híbridas:

  1. En tu App Service, selecciona "Redes" en la barra lateral izquierda
  2. Ir a "Conexiones híbridas"
  3. Haz clic en "Añadir conexión híbrida"
  4. Crea una nueva o utiliza una conexión existente
  5. Especifica el nombre de host y el puerto del punto final
  6. Instala el Gestor de Conexiones Híbridas en tu servidor local

Implementar indicadores de características para aplicaciones de datos

Las banderas de características te permiten activar funcionalidades de forma selectiva, lo que resulta valioso para realizar pruebas A/B de características de datos o para desplegar gradualmente nuevos modelos:

{
  "FeatureFlags": {
    "NewRecommendationModel": false,
    "AdvancedDataFiltering": true
  }
}

Lee estas banderas en tu código:

import os
import json

feature_flags = json.loads(os.environ.get('FeatureFlags', '{}'))
use_new_model = feature_flags.get('NewRecommendationModel', False)

if use_new_model:
    # Use new recommendation model
else:
    # Use existing model

Este enfoque te permite probar nuevas funciones con un subconjunto de usuarios o desactivar rápidamente funciones problemáticas sin volver a desplegarlas.

> Para profundizar en la automatización del despliegue de modelos de ML, consulta este curso sobre CI/CD para machine learning.

Conclusión

A lo largo de este tutorial, hemos explorado cómo instalar, desplegar, configurar, escalar y optimizar Azure App Service para aplicaciones de datos. Desde la creación de tu primer App Service hasta la implementación de funciones avanzadas como el autoescalado y la conectividad híbrida, ahora tienes los conocimientos necesarios para aprovechar la plataforma de Azure para tus cargas de trabajo de datos.

Puntos clave

  1. Azure App Service proporciona una plataforma totalmente gestionada que permite a los profesionales de los datos centrarse en la lógica de la aplicación en lugar de en la gestión de la infraestructura.
  2. Múltiples opciones de despliegue permiten una integración perfecta con tu flujo de trabajo de desarrollo existente, tanto si utilizas GitHub, Azure DevOps o repositorios Git locales.
  3. Capacidad de ampliación garantizan que tu aplicación pueda soportar cargas de trabajo variables, desde las pruebas de desarrollo hasta los picos de tráfico en producción.
  4. Herramientas integradas de supervisión y diagnóstico ayudan a mantener la fiabilidad y el rendimiento, con métricas especializadas para aplicaciones de datos.
  5. Las estrategias de optimización de costes te permiten maximizar el valor a la vez que minimizas los gastos, algo especialmente importante para las cargas de trabajo de datos que consumen muchos recursos.

Próximos pasos

Para continuar tu viaje por Azure App Service, considera explorar:

  1. Integración con Azure ML: Despliega modelos entrenados en Azure Machine learning en tu App Service para su inferencia.
  2. Funciones Azure: Para una computación sin servidor basada en eventos que complemente tus aplicaciones App Service.
  3. Gestión de API Azure: Para asegurar y gestionar las API que exponen tus servicios de datos.
  4. Azure Logic Apps: Para la automatización del flujo de trabajo entre tu App Service y otras fuentes de datos.
  5. El programa Fundamentos de Microsoft Azuretambién es un gran recurso si te estás preparando para la certificación o quieres un aprendizaje estructurado.

Recuerda que el panorama de la nube evoluciona rápidamente, ¡así queno pierdas de vista la página de actualizaciones de Azure para conocer nuevas funciones y servicios que puedan mejorar tus aplicaciones de datos!

Obtén la certificación AZ-900 de Azure

Prepárate para el PL-300 de Azure y consigue un 50% de descuento en el precio del examen.

Kofi Glover's photo
Author
Kofi Glover
LinkedIn
Entusiasta de la IA Agenética con pasión por aprovechar el poder de la IA para impulsar el valor empresarial y dar forma al Futuro del Trabajo. Líder intelectual y pionero en la adopción de técnicas y tecnologías revolucionarias como los sistemas multiagente, la IA generativa, el aprendizaje profundo por refuerzo, los sistemas de IA multimodal, la ingeniería de flujos y la ingeniería rápida.

Amplia formación técnica que incluye machine learning, ciencia de datos, modelado cuantitativo, ingeniería de software, DevOps y computación en la nube.
Temas

Aprende más sobre Azure con estos cursos

Curso

Understanding Microsoft Azure

3 h
34.2K
Learn about the power of Microsoft Azure and cloud computing software to help you improve your data engineering skills.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

blog

AWS vs Azure: Una comparación en profundidad de los dos principales servicios en la nube

Explora las principales diferencias y similitudes entre Amazon Web Services (AWS) y Microsoft Azure. Este exhaustivo análisis abarca el rendimiento, los precios, las ofertas de servicios y la facilidad de uso para ayudar a los aspirantes a profesionales a determinar qué computación en nube se adapta mejor a sus necesidades.
Kurtis Pykes 's photo

Kurtis Pykes

12 min

blog

AWS frente a Certificaciones Azure: ¿Cuál es el mejor para ti?

Explora las diferencias entre las certificaciones de AWS y Azure, centrándote en las habilidades, las oportunidades profesionales y la demanda del sector para cada una de ellas. Esta guía te ayudará a determinar qué vía de certificación se ajusta mejor a tus objetivos en el panorama de la computación en nube.
Kurtis Pykes 's photo

Kurtis Pykes

15 min

blog

Las 13 mejores certificaciones Azure para 2024: Potencia tu carrera en Ciencia de Datos

Descubre la completa guía 2024 sobre la Certificación Azure para profesionales de los datos. Profundiza en lo esencial de los niveles de certificación de Azure, las estrategias de preparación con DataCamp y su impacto en tu carrera en la ciencia de datos.
Matt Crabtree's photo

Matt Crabtree

12 min

Tutorial

Base de datos Azure SQL: Configuración y gestión paso a paso

Aprende a crear, conectar, gestionar, consultar y proteger tu base de datos Azure SQL. Esta guía paso a paso cubre todo lo esencial para una configuración óptima de la base de datos.
Anneleen Rummens's photo

Anneleen Rummens

12 min

Tutorial

Cuentas de almacenamiento Azure: Tutorial paso a paso para principiantes

Esta guía te enseña a configurar y gestionar las Cuentas de Almacenamiento de Azure, paso a paso. También explora opciones avanzadas de configuración para un rendimiento óptimo y una optimización de costes.
Anneleen Rummens's photo

Anneleen Rummens

11 min

Tutorial

Sinapsis Azure: Guía paso a paso para principiantes

Una guía fácil de seguir para que los principiantes aprendan Azure Synapse, que abarca desde la configuración de tu espacio de trabajo hasta la integración de datos y la ejecución de análisis.
Moez Ali's photo

Moez Ali

13 min

Ver másVer más