Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Utiliza esta guía para pasar del modelo heredado Functions on Azure Container Apps V1 al modelo recomendado Functions on Azure Container Apps V2. Aprenderá por qué migrar, qué cambios y cómo ejecutar la transición con un riesgo mínimo.
Nota:
Utiliza el asistente de migración de Azure Functions en Azure Container Apps v1 para ayudar a migrar tus aplicaciones de funciones del modelo v1 al modelo v2.
Puede hospedar Azure Functions en Azure Container Apps mediante dos modelos de implementación:
Funciones en Azure Container Apps V1: Modelo proxy heredado que utiliza una Function App (
Microsoft.Webproveedor de recursos) más una aplicación de contenedor detrás de cámaras.Funciones en Azure Container Apps V2: Modelo nativo que crea un único recurso de Azure Container App (
Microsoft.App) conkind=functionapp.
Cuando pasas a Functions en Azure Container Apps V2, simplificas la gestión, desbloqueas funciones nativas y te alineas con la hoja de ruta futura de Azure Functions.
Comparación de modelos
| Area | Funciones en Azure Container Apps V1 (heredado) | Funciones en Azure Container Apps V2 (recomendado) |
|---|---|---|
| Modelo de recursos | Aplicación de funciones de proxy emparejada con una aplicación contenedora oculta | Aplicación de contenedor nativa única (kind=functionapp) |
| Características nativas (revisiones, secretos, comprobaciones de estado, dominios personalizados, sidecars) |
No está soportado | Compatible |
| Controles de escalado (tiempo de espera, intervalo de sondeo) |
Limitado | Opciones de escalado de aplicaciones de contenedor completas |
| Registro y solución de problemas | Indirecto. Sin consola activa | Directo. Incluye registros activos y diagnósticos |
| Integración de Dapr | Problemático en algunos escenarios de .NET aislados | Soportado con patrones estándar |
| Autenticación (autenticación sencilla) | No disponible | Disponible |
| Certificados y dominios personalizados | No disponible | Disponible |
| Métricas y alertas | Básico | Métricas y alertas nativas completas |
| Plan de desarrollo futuro (lista de funciones, claves, recuento de invocaciones) |
No planeado | Programado |
| Complejidad operativa | Administración de recursos duales | Recurso único |
| Recomendado para nuevas implementaciones | No | Sí |
Limitaciones de Functions en Azure Container Apps V1
Las funciones en Azure Container Apps V1 tienen varias limitaciones que afectan a la escalabilidad, la gestión y la disponibilidad de funciones. Comprender estas restricciones ayuda a aclarar los beneficios de migrar a Funciones en Azure Container Apps V2.
Diferencias de funcionalidades
Las siguientes características no están disponibles para Functions en aplicaciones V1 de Azure Container Apps:
- Autenticación sencilla
- Comprobaciones de salud
- Dominios personalizados
- Contenedores sidecar
- Certificados administrados
- Secretos de la aplicación de contenedores
- Configuración de escala pormenorizada
- División de tráfico de multirevisión
Solución de problemas de restricciones
Con las aplicaciones V1 de Functions en Azure Container Apps, no se tiene acceso directo al contenedor ni salida de consola en tiempo real. En su lugar, utiliza Log Analytics para diagnósticos de infraestructura y Application Insights para registros de aplicaciones.
Problemas de integración de Dapr
Las funciones aisladas de Dapr y .NET pueden entrar en conflicto durante la compilación o el entorno de ejecución debido a restricciones de ordenación de dependencia e inicialización.
Beneficios de las funciones en Azure Container Apps v2
Functions on Azure Container Apps V2 crea directamente un recurso nativo de aplicación contenedor. Este enfoque elimina la indirección de proxy y habilita todas las funcionalidades de Azure Container Apps.
Ventajas clave:
- Habilite Easy Auth para la descarga de identidades.
- Configure sondeos de salud para mejorar la resiliencia.
- Establezca dominios personalizados y use certificados administrados.
- Reduzca la sobrecarga operativa con un único recurso.
- Almacene secretos de forma nativa y monte contenedores sidecar.
- Obtenga métricas, alertas y streaming de registros en vivo más claras.
- Utilice implementaciones de múltiples revisiones y divida el tráfico de manera segura.
- Aplicar reglas de escalado pormenorizadas (intervalo de sondeo, enfriamiento).
Nota:
No se requiere ningún cambio de código. Puede reutilizar la imagen de contenedor existente.
Implementación de imágenes directas heredadas (no admitida)
Algunas implementaciones usan una aplicación de contenedor estándar sin kind=functionapp y ejecutan manualmente una imagen de Functions.
Importante
Este enfoque no se admite. No dispone de reglas de escalado automáticas y no recibe las próximas funciones de la plataforma Azure Container Apps V2 como listado de funciones, teclas y conteos de invocaciones.
Recomendación: Migrar a funciones en Azure Container Apps v2.
Prerrequisitos
Antes de migrar:
- Suscripción y permiso de Azure para crear recursos.
- [CLI de Azure](/cli/azure/install-azure-cli-windows?view=azure-cli-latest (última versión) instalado.
- Extensiones necesarias:
az extension add --name containerapp,az extension add --name functionapp(si procede). - Acceso a la imagen del contenedor utilizada por tus funciones en el despliegue de Azure Container Apps V1.
- Inventario de variables de entorno, secretos, enlaces de almacenamiento y configuración de red.
Procedimiento de migración
1. Preparar
- Identifica que tu despliegue actual es una aplicación Functions on Azure Container Apps V1.
- Exporte todos los datos de configuración, incluidas las variables de entorno, los secretos, las cadenas de conexión y los enlaces personalizados.
- Revise las cuotas de entorno (CPU, memoria, instancias máximas) y ajuste si es necesario.
- Confirme la disponibilidad de imágenes en el registro.
2. Crear funciones en Azure Container Apps v2 app
Cree o reutilice un entorno de Azure Container Apps.
Implementar una nueva aplicación de Functions en Azure Container Apps V2 con la misma imagen.
az containerapp create \ --name my-func-v2 \ --resource-group <RESOURCE_GROUP_NAME> \ --environment <ENVRONMENT_NAME> \ --image myregistry.azurecr.io/<IMAGE_NAME>:<TAG_NAME> \ --kind functionapp \ --ingress external --target-port <TARGET_PORT>Vuelva a aplicar los detalles de configuración, incluidos los secretos, las variables de entorno, la identidad y las redes.
Habilite la autenticación o el dominio personalizado si es necesario.
Defina las reglas de escalado (HTTP, CPU, correlación del desencadenador de cola según corresponda).
3. Validar
Invocar funciones desencadenadas por HTTP (curl o explorador).
Pruebe cada tipo de desencadenador (Event Hubs, Service Bus, temporizador).
Confirme la telemetría de Application Insights y los registros de análisis de Log Analytics.
Compruebe el comportamiento de escalado bajo carga (activación de reglas de escalado automático).
Compruebe que los secretos y las cadenas de conexión se resuelven correctamente.
Verifique el estado del sondeo de salud y los detalles de revisión del contenedor.
4. Actualizar DNS o dominios personalizados (opcional)
Si usas un dominio personalizado, asícialo al nombre de host nuevo de Functions on Azure Container Apps V2 (CNAME o registro A).
Volver a enlazar los certificados SSL/TLS (gestionados o cargados).
Pruebe la resolución de dominio y el protocolo de enlace TLS.
Comunicar los cambios de punto de conexión internamente.
5. Migrar
Cambie el tráfico de producción (actualice las reglas de enrutamiento o TTL de DNS).
Monitorear la latencia, los errores y los recuentos de invocaciones.
Ajuste los parámetros de escalado si es necesario (periodo de enfriamiento, instancias mínimas/máximas).
Realice un seguimiento de los registros de anomalías durante las primeras horas.
6. Limpiar
Desactiva las antiguas funciones en la app Azure Container Apps V1 y recursos relacionados.
Precaución
Verifica que ningún tráfico de producción siga apuntando a las Funciones en el endpoint de Azure Container Apps V1 antes de eliminarlo.
Quite secretos o referencias de almacenamiento no usadas.
Actualice la documentación interna y los runbooks operativos.
Lista de comprobación de validación
| Elemento | Criterios de paso |
|---|---|
| Los desencadenadores se activan | Todos los desencadenadores configurados se ejecutan correctamente |
| Registros y telemetría | Application Insights muestra invocaciones; transmisión de registros en vivo |
| Scaling | El recuento de instancias se ajusta por configuración de regla |
| Autenticación (si está habilitada) | Los puntos de conexión protegidos devuelven códigos de estado esperados |
| Dominios | El dominio personalizado se soluciona con un certificado válido |
| Secrets | Los valores confidenciales se cargan sin errores |
Mejoras operativas (opcional)
Mejora de la confiabilidad después de la migración:
- Adición de reglas de alerta
- Ajuste del escalado automático
- Aplicación del uso de identidad administrada
- Centralización de secretos