Comparación de las opciones de hospedaje de Azure Functions
Cuando crea una aplicación de funciones en Azure, debe elegir un plan de hospedaje para su aplicación. Hay tres planes de hospedaje básico disponibles para Azure Functions: Plan de consumo, plan Premium y plan App Service (Dedicado). Todos los planes de hospedaje tienen disponibilidad general (GA) en máquinas virtuales Linux y Windows.
El plan de hospedaje que elija determina los comportamientos siguientes:
- Cómo se escala la aplicación de funciones.
- Los recursos disponibles para cada instancia de aplicación de funciones.
- Compatibilidad con funcionalidad avanzada, como la conectividad con Azure Virtual Network.
A continuación se muestra un resumen de las ventajas de los tres planes de hospedaje principales de Functions:
Planear | Ventajas |
---|---|
Plan de consumo | Este es el plan de hospedaje predeterminado. Escala de forma automática y pagará los recursos de proceso solo cuando se ejecuten las funciones. Las instancias del host de Functions se agregan y quitan de forma dinámica según el número de eventos entrantes. |
Plan Premium | Escala automáticamente en función de la demanda mediante trabajos preparados previamente que ejecutan aplicaciones sin ningún retraso después de estar inactivas, ejecuta en instancias más eficaces y se conecta a redes virtuales. |
Plan dedicado | Ejecute sus funciones en un plan de App Service con las tarifas de plan de App Service normal. Mejor para escenarios de ejecución prolongada en los que no se puede usar Durable Functions. |
Hay otras dos opciones de hospedaje que proporcionan el mayor control y aislamiento posibles con los que ejecutar las aplicaciones de funciones.
Opción de hospedaje | Detalles |
---|---|
Azure App Service Environment | App Service Environment (ASE) es una característica de App Service que proporciona un entorno completamente aislado y dedicado para ejecutar de forma segura las aplicaciones de App Service a gran escala. |
Kubernetes (Directo o Azure Arc) | Kubernetes proporciona un entorno completamente aislado y dedicado que se ejecuta sobre la plataforma de Kubernetes. |
Planes de hospedaje y escalado
En la siguiente tabla se comparan los comportamientos de escalado de los distintos planes de hospedaje. El número máximo de instancias se da en función de una aplicación por función (consumo) o por plan (Premium/Dedicado), a menos que se indique lo contrario.
Planear | Escalado horizontal | N.º máximo de instancias |
---|---|---|
Plan de consumo | Basado en eventos. Escale horizontalmente de forma automática, incluso durante períodos de gran carga. La infraestructura de Azure Functions escala los recursos de CPU y memoria mediante la incorporación de más instancias del host de Functions, según el número de eventos de desencadenador entrantes. | Windows: 200, Linux: 100 |
Plan Premium | Basado en eventos. Escale horizontalmente de forma automática, incluso durante períodos de gran carga. La infraestructura de Azure Functions escala automáticamente los recursos de CPU y la memoria mediante la incorporación de más instancias del host de Functions, según el número de eventos desencadenados por las funciones. | Windows: 100, Linux: 20-100 |
Plan dedicado | Escalabilidad automática o manual | 10-20 |
Azure App Service Environment | Escalabilidad automática o manual | 100 |
Kubernetes | Escalado automático basado en eventos para los clústeres de Kubernetes mediante KEDA. | Varía en función del clúster |
Nota
El escalado horizontal máximo puede variar por región y el plan de hospedaje. Para más información, visite el artículo sobre el plan Prémium y los límites del plan de App Service.
Duración del tiempo de espera de una aplicación de función
La propiedad functionTimeout
del archivo del proyecto host.json especifica la duración del tiempo de espera de las funciones de una aplicación de funciones. Esta propiedad se aplica específicamente a las ejecuciones de funciones. Una vez que el desencadenador inicia la ejecución de la función, la función debe devolver o responder dentro de la duración del tiempo de espera.
En la tabla siguiente se muestran los valores predeterminados y máximos (en minutos) para planes específicos:
Plan | Valor predeterminado | Máximo |
---|---|---|
Plan de consumo | 5 | 10 |
Plan Premium | 30 | Sin límite |
Plan dedicado | 30 | Sin límite |
Requisitos de la cuenta de almacenamiento
En cualquier plan, una aplicación de funciones requiere una cuenta de Azure Storage general que admita almacenamiento de Azure en blobs, colas, archivos y tablas. Esto es porque Functions se basa en Azure Storage para operaciones como la administración de desencadenadores y el registro de las ejecuciones de funciones, pero algunas cuentas de almacenamiento no admiten colas ni tablas.
Los desencadenadores y enlaces para almacenar los datos de la aplicación también pueden usar la misma cuenta de almacenamiento que usa la aplicación de función. Sin embargo, para las operaciones que consumen muchos recursos de almacenamiento, debe usar una cuenta de almacenamiento independiente.