Curso
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:
- Accede al Portal Azure
- Haz clic en "Crear un recurso" en la navegación de la izquierda
- Busca "App Service Plan" y selecciónalo
- Haz clic en "Crear"
- 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
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:
- En el Portal Azure, haz clic en "Crear un recurso".
- Busca "Web App" y selecciónala
- Haz clic en "Crear"
- 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
- 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:
- Navega hasta tu aplicación web en el Portal Azure
- En la barra lateral izquierda, en "Configuración", selecciona "Variables de entorno".
- En la pestaña "Configuración de la aplicación", haz clic en "Añadir"
- Añade pares clave-valor para tus variables de entorno
- Pulsa "Guardar" cuando hayas terminado
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:
- Navega hasta tu App Service en el Portal Azure
- En la barra lateral izquierda, selecciona "Centro de despliegue".
- Selecciona "GitHub" como fuente
- Autentícate con tu cuenta de GitHub si se te pide
- Elige tu organización, repositorio y rama
- Pulsa "Guardar".
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:
- Navega hasta tu App Service
- Selecciona "Centro de despliegue".
- Haz clic en "Ajustes".
- 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:
- En tu App Service, ve a "Centro de despliegue".
- Selecciona "FTP" y anota el punto final FTP, el nombre de usuario y la contraseña
- Utiliza cualquier cliente FTP (como FileZilla) para conectarte a tu App Service
- 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:
- En tu App Service, ve a "Centro de despliegue".
- Selecciona "Git local".
- Pulsa "Guardar".
- Ve a "Credenciales de despliegue" para configurar o ver tus credenciales
- 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:
- En el Portal Azure, ve a tu App Service
- Selecciona "Centro de despliegue".
- Consulta la pestaña "Registros" para ver los registros detallados del despliegue
- Para los despliegues en GitHub, también puedes consultar la pestaña Acciones en tu repositorio de GitHub
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:
- Revisa a fondo los registros de despliegue
- Comprueba si tu aplicación se ejecuta localmente
- Asegúrate de que todas las dependencias aparecen en tu archivo
requirements.txt
- 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
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:
- Compra un dominio a un registrador de dominios si aún no tienes uno
- En tu App Service, ve a "Dominios personalizados" en la barra lateral izquierda
- Haz clic en "Añadir dominio personalizado".
- Introduce tu nombre de dominio (por ejemplo,
myapp.example.com
) - Sigue las instrucciones para verificar la propiedad del dominio
- Tendrás que añadir un registro
TXT
oCNAME
a tu configuración DNS
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:
- En tu App Service, ve a "Configuración TLS/SSL".
- Selecciona "Certificados de clave privada"
- Elige una de las siguientes opciones:
- Crear un certificado gratuito gestionado por App Service
- Importar un certificado de App Service
- Subir un certificado PFX
- Una vez añadido el certificado, ve a "Enlaces".
- 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:
- En "Configuración TLS/SSL", ve a la sección "Sólo HTTPS".
- Activa el interruptor
- 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:
- En tu App Service, ve a "Autenticación" en la barra lateral izquierda
- Haz clic en "Añadir proveedor de identidad"
- Elige tu proveedor de identidad:
- Microsoft (Azure AD)
- GitHub
- Conexión OpenID
- Configura los ajustes del proveedor
- Configurar las URL de redireccionamiento y las configuraciones del almacén de tokens
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:
- En la configuración de autenticación, selecciona "Editar" junto a tu proveedor de identidad
- En "Restringir acceso", elige una de las siguientes opciones:
- Permitir solicitudes no autenticadas
- Requerir autenticación
- Permitir solicitudes anónimas (sin acción)
- 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:
- En tu App Service, ve a "Configuración" en la barra lateral izquierda
- Selecciona la pestaña "Configuración de la aplicación".
- Haz clic en "Nueva configuración de la aplicación" para añadir un par clave-valor
- 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
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:
- En la página de Configuración, selecciona la pestaña "Cadenas de conexión".
- Haz clic en "Nueva cadena de conexión"
- 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:
- Crea una Bóveda de Claves de Azure y añade tus secretos
- Asegúrate de que tu App Service tiene una identidad gestionada
- Concede a la identidad acceso a la Bóveda de Claves
- 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:
- En tu plan App Service, selecciona "Ampliar (plan App Service)" en la barra lateral izquierda
- Elige un nivel de precios o un tamaño de instancia diferente en función de tus necesidades
- Haz clic en "Aplicar".
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:
- En tu plan App Service, selecciona "Ampliación (plan App Service)" en la barra lateral izquierda
- Establece el recuento de instancias manualmente o configura reglas de autoescalado
- 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:
- En la sección "Escalar", selecciona "Activar autoescala".
- 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
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:
- En tu App Service, selecciona "Application Insights" en la barra lateral izquierda
- Haz clic en "Activar Application Insights".
- Configura un recurso Application Insights nuevo o existente
- Haz clic en "Aplicar".
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:
- En tu App Service, selecciona "Log stream" para ver los registros en tiempo real
- Para un análisis más detallado, ve a "Registros de diagnóstico" y activa el registro de aplicaciones
- Configura el nivel de registro (Error, Advertencia, Información, Verboso)
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:
- En Azure Monitor, selecciona "Alertas".
- Haz clic en "Nueva regla de alerta"
- Selecciona tu App Service como recurso
- Define la condición que debe activar la alerta
- Configura grupos de acción para determinar quién debe ser notificado y cómo
- 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:
- En tu App Service, selecciona "Copias de seguridad" en la barra lateral izquierda
- Haz clic en "Configurar".
- Establece la programación de la copia de seguridad (diaria, semanal o personalizada)
- Especifica una cuenta de almacenamiento para los archivos de copia de seguridad
- Incluir opcionalmente bases de datos en la copia de seguridad
- Pulsa "Guardar".
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:
- En la sección Copias de seguridad, selecciona el punto de copia de seguridad desde el que quieres restaurar
- Haz clic en "Restaurar".
- Elige si quieres restaurar el contenido de la app, la configuración y las bases de datos conectadas
- Especifica el App Service de destino (puede ser el mismo o una app diferente)
- 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:
- En el Portal Azure, navega hasta tu App Service
- Selecciona "Control de acceso (IAM)" en la barra lateral izquierda
- Haz clic en "Añadir" y luego en "Añadir asignación de funciones"
- 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
- Selecciona los usuarios, grupos o responsables de servicio a los que asignar el rol
- Pulsa "Guardar".
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:
- En tu App Service, selecciona "Redes" en la barra lateral izquierda
- Ir a "Restricciones de acceso"
- Haz clic en "Añadir regla".
- Especifica el rango de direcciones IP, la acción (Permitir/Denegar), la prioridad y el nombre
- Haz clic en "Añadir regla".
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:
- En la sección Red, selecciona "Integración VNet".
- Haz clic en "Añadir VNet"
- Selecciona o crea una red virtual y una subred
- 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:
- 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".
- Utiliza Application Insights para identificar excepciones
- 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:
- 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
- Revisa las métricas del servidor en Azure Monitor:
- Utilización de CPU y memoria
- Longitud de la cola HTTP
- 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:
- Registros de solicitud: Los propios registros de tu aplicación
- Registros del servidor web: Registros de peticiones y errores HTTP
- Registros de despliegue: Información sobre tu proceso de despliegue
- Registro detallado de errores: Más información sobre errores HTTP
Para configurar un registro más detallado:
- En tu App Service, ve a "Registros de diagnóstico".
- Activa los tipos de registro adecuados
- Establece el nivel adecuado (Error, Advertencia, Información, Verboso)
- 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:
- 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.
- Certificados SSL: Aunque Azure proporciona certificados gratuitos, los certificados personalizados tienen costes asociados.
- Dominios personalizados: El primer dominio personalizado es gratuito, pero los dominios adicionales pueden tener coste.
- Almacenamiento: El almacenamiento adicional al incluido en tu nivel tiene un coste extra.
- 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:
- Gestión de costes Azure: Accede a él en el Portal Azure para ver los costes por recurso, establecer presupuestos y crear alertas.
- Calculadora de precios: Utiliza la Calculadora de precios de Azure paraestimar los costes antes de la implantación.
- 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:
- 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.
- 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.
- 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:
- 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.
- 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.
- 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:
- Utiliza el nivel Gratuito o Compartido para entornos de desarrollo siempre que sea posible.
- 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.
- 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:
- 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).
- 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.
- 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
- 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:
- En el Portal Azure, crea una nueva Web App
- Selecciona "Contenedor Docker" en lugar de "Código" para la opción de publicación
- 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:
- Pruebas de validación de datos: Verifica que el procesamiento de datos produce los resultados esperados
- Pruebas de rendimiento del modelo: Garantizar que los modelos ML cumplen los umbrales de precisión y rendimiento
- 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:
- En tu App Service, ve a "WebJobs" en la barra lateral izquierda
- Haz clic en "Añadir".
- Sube tu archivo de script (por ejemplo, un script de Python para procesar datos)
- Elige el tipo de activación (manual, programada o continua)
- 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:
- 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.
- 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:
- En tu App Service, selecciona "Redes" en la barra lateral izquierda
- Ir a "Conexiones híbridas"
- Haz clic en "Añadir conexión híbrida"
- Crea una nueva o utiliza una conexión existente
- Especifica el nombre de host y el puerto del punto final
- 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
- 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.
- 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.
- 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.
- Herramientas integradas de supervisión y diagnóstico ayudan a mantener la fiabilidad y el rendimiento, con métricas especializadas para aplicaciones de datos.
- 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:
- Integración con Azure ML: Despliega modelos entrenados en Azure Machine learning en tu App Service para su inferencia.
- Funciones Azure: Para una computación sin servidor basada en eventos que complemente tus aplicaciones App Service.
- Gestión de API Azure: Para asegurar y gestionar las API que exponen tus servicios de datos.
- Azure Logic Apps: Para la automatización del flujo de trabajo entre tu App Service y otras fuentes de datos.
- 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
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.