Partekatu honen bidez:


Visión general de Azure Functions en Azure Container Apps

Azure Functions proporciona compatibilidad integrada para desarrollar, implementar y administrar aplicaciones de funciones en contenedor en Azure Container Apps. Use Azure Container Apps para las aplicaciones de Functions cuando necesite ejecutarse en el mismo entorno que otros microservicios, API, sitios web, flujos de trabajo o cualquier programa hospedado en contenedores.

El hospedaje de Container Apps permite ejecutar las funciones en un entorno totalmente compatible y administrado basado en contenedores con compatibilidad integrada con la supervisión de código abierto, mTLS, Dapr y el escalado automático controlado por eventos de Kubernetes (KEDA).

Como característica integrada en Azure Container Apps, es posible implementar imágenes de Azure Functions directamente en Azure Container Apps mediante el proveedor de recursos Microsoft.App estableciendo kind=functionapp al llamar a az containerapp create. Las aplicaciones creadas de esta manera tienen acceso a todas las características de Azure Container Apps.

En este artículo se muestra cómo crear e implementar una aplicación de Azure Functions que se ejecuta en Azure Container Apps. Aprenderá a:

  • Configuración de una aplicación de Functions en contenedor con reglas de escalado automático preconfiguradas
  • Implementación de la aplicación mediante Azure Portal o la CLI de Azure
  • Comprobación de la función implementada con un desencadenador HTTP

Al ejecutar Functions en Container Apps, se beneficia del escalado automático, la configuración sencilla y un entorno de contenedor totalmente administrado, todo ello sin tener que administrar la infraestructura subyacente usted mismo.

Escenarios

Azure Functions en Container Apps proporciona una combinación versátil de servicios para satisfacer las necesidades de las aplicaciones. Los escenarios siguientes son representativos de los tipos de situaciones en las que analizar Azure Container Apps con Azure Functions proporciona el control y las características de escalado que necesita.

  • API de línea de negocio: empaquetar bibliotecas personalizadas, paquetes y API con Functions para aplicaciones de línea de negocio.

  • Compatibilidad con la migración: migración de aplicaciones heredadas o monolíticas locales a microservicios nativos en la nube en contenedores.

  • Arquitectura controlada por eventos: admite aplicaciones controladas por eventos para cargas de trabajo que ya se ejecutan en Azure Container Apps.

  • Cargas de trabajo sin servidor: procesamiento de cargas de trabajo sin servidor de vídeos, imágenes, transcripciones o cualquier otra tarea que requiera recursos de proceso de GPU.

  • Escenarios comunes de Azure Functions: todos los escenarios comunes de Azure Functions, como el procesamiento de cargas de archivos, la ejecución de tareas programadas, la respuesta a los cambios de la base de datos, el aprendizaje automático o la inteligencia artificial y otros detallados en escenarios de Azure Functions.

Escalado controlado por eventos

Todos los desencadenadores de Functions están disponibles en la aplicación de Functions en contenedor. Sin embargo, solo los siguientes desencadenadores pueden escalar dinámicamente (desde cero instancias) en función de eventos recibidos al ejecutarse en un entorno de Container Apps:

  • Azure Event Grid
  • Azure Event Hubs
  • Azure Blob Storage (basado en Event Grid)
  • Almacenamiento de colas de Azure
  • Azure Service Bus (bus de servicios de Azure)
  • Durable Functions (proveedor de almacenamiento MSSQL)
  • HTTP
  • Kafka
  • Temporizador
  • Azure Cosmos DB (la base de datos de Azure Cosmos)

Azure Functions en Container Apps está diseñado para configurar los parámetros y reglas de escala según el destino del evento. No es necesario preocuparse por configurar los objetos escalados de KEDA. Todavía puede establecer el recuento mínimo y máximo de réplicas al crear o modificar la aplicación de funciones.

El escalado automático para el desencadenador de Azure Cosmos DB y Durable Functions actualmente solo se admite mediante cadenas de conexión.

Escriba el código de función en cualquier pila de lenguaje compatible con Azure Functions. Puede usar los mismos desencadenadores y enlaces de Functions con el escalado controlado por eventos.

Autorización de identidad administrada

Para cumplir los procedimientos recomendados de seguridad, conéctese a servicios remotos mediante la autenticación de Microsoft Entra y la autorización de identidad administrada.

Las identidades administradas están disponibles para las siguientes conexiones:

  • Cuenta de almacenamiento predeterminada (AzureWebJobsStorage)
  • Azure Container Registry: si la ejecución se realiza en Container Apps, use Microsoft Entra ID con identidades administradas para todas las extensiones de enlace que admitan identidades administradas. Actualmente, estas extensiones de enlace son las únicas que admiten el escalado controlado por eventos cuando se usa la autenticación de identidad administrada:
  • Azure Event Hubs
  • Almacenamiento de colas de Azure
  • Azure Service Bus (bus de servicios de Azure)

Para otras vinculaciones, use réplicas fijas al utilizar la autenticación de identidad administrada. Para más información, consulte la guía para desarrolladores de Functions.

Registro de aplicaciones

Puede supervisar la aplicación de funciones contenedorizada hospedada en Container Apps mediante Azure Monitor Application Insights de la misma manera que lo hace con las aplicaciones hospedadas por Azure Functions. Para más información, consulte Supervisión de Azure Functions.

En el caso de los enlaces que admiten el escalado controlado por eventos, estos se registran como eventos FunctionsScalerInfo y FunctionsScalerError en el área de trabajo de Log Analytics. Para más información, consulte Registro de aplicaciones en Azure Container Apps.

Pasos siguientes