Operaciones de aplicaciones de Functions sin servidor

En este artículo se describen ciertas consideraciones relativas a las operaciones de Azure para las aplicaciones de Functions sin servidor. Para admitir las aplicaciones de Functions, el personal de operaciones debe:

  • Comprender e implementar las opciones de configuración de hospedaje.
  • Realice una prueba de la escalabilidad mediante la automatización del aprovisionamiento de la infraestructura.
  • Mantener la continuidad empresarial mediante el cumplimiento de los requisitos de disponibilidad y recuperación ante desastres.

Planificación

Para planear las operaciones, comprenda sus cargas de trabajo y sus requisitos y, después, diseñe y configure las mejores opciones para tales requisitos.

Elección de una opción de hospedaje

Azure Functions Runtime ofrece flexibilidad para el hospedaje. Use la tabla de comparación de planes de hospedaje a fin de determinar la mejor opción para sus requisitos.

  • Planes de hospedaje de Azure Functions

    Cada proyecto de Azure Functions se implementa y ejecuta en su propia aplicación de Functions, que es la unidad de la escala y el costo. Los tres planes de hospedaje disponibles para Azure Functions son el plan Consumo, el Premium y el Dedicado (App Service). El plan de hospedaje determina el comportamiento de escalado, los recursos disponibles y la compatibilidad con características avanzadas, como la conectividad de redes virtuales.

  • Azure Kubernetes Service (AKS)

    Las funciones basadas en Kubernetes proporcionan el entorno de ejecución de Functions en un Contenedor de Docker con escalado controlado por eventos a través del Escalado automático controlado por eventos basado en Kubernetes (KEDA).

Para obtener más información sobre los planes de hospedaje, vea lo siguiente:

Descripción del escalado

Los planes de hospedaje Consumo y Premium sin servidor se escalan automáticamente, agregando y quitando instancias de host de Azure Functions en función del número de eventos de entrada. El escalado puede diferir en varias dimensiones y comportarse de forma distinta según el plan, el desencadenador y el lenguaje del código.

Para obtener más información sobre el escalado, vea lo siguiente:

Descripción y solución de los arranques en frío

Si el número de instancias de host se reduce verticalmente a cero, la siguiente solicitud tendrá la latencia agregada de reiniciar la aplicación de Functions, denominado arranque en frío. El arranque en frío es objeto de un importante debate en las arquitecturas sin servidor y un punto de ambigüedad para Azure Functions.

El plan de hospedaje Premium evita los arranques en frío mediante el mantenimiento de algunas instancias en caliente. La reducción de dependencias y el uso de operaciones asincrónicas en la aplicación de Functions también minimiza el impacto de los arranques en frío. Sin embargo, los requisitos de disponibilidad pueden requerir la ejecución de la aplicación en un plan de hospedaje Dedicado con Always On habilitado. El plan Dedicado usa máquinas virtuales (VM) dedicadas, por lo que no es sin servidor.

Para obtener más información sobre el arranque en frío, vea Descripción del arranque en frío sin servidor.

Identificación de las consideraciones sobre el almacenamiento

Todas las aplicaciones de Azure Functions se basan en Azure Storage para ciertas operaciones, como la administración de los desencadenadores y la ejecución de las funciones de registro. Al crear una aplicación de Functions, debe crear o vincular una cuenta de Azure Storage de uso general compatible con Blob, Queue y Table Storage. Para obtener más información, vea Consideraciones de almacenamiento de Azure Functions.

Identificación de las consideraciones sobre el diseño de red

Las opciones de red permiten que la aplicación de Functions restrinja el acceso o acceda a los recursos sin usar direcciones enrutables por Internet. Los planes de hospedaje ofrecen diferentes niveles de aislamiento de red. Elija la opción que mejor se adapte a sus requisitos de aislamiento de red. Para obtener más información, vea las opciones de red de Azure Functions.

Producción

A fin de preparar la aplicación para producción, asegúrese de que pueda volver a implementar fácilmente el plan de hospedaje y aplicar reglas de escalabilidad horizontal.

Automatización del aprovisionamiento del plan de hospedaje

Con la infraestructura como código, se puede automatizar el aprovisionamiento de la infraestructura. El aprovisionamiento automático proporciona más resistencia durante los desastres y más agilidad para volver a implementar rápidamente la infraestructura, según sea necesario.

Para obtener más información sobre el aprovisionamiento automatizado, vea lo siguiente:

Configuración de las opciones de escalabilidad horizontal

La escalabilidad automática proporciona la cantidad adecuada de recursos en ejecución que permiten controlar la carga de la aplicación. La escalabilidad automática agrega recursos para controlar el aumento de la carga y ahorra dinero mediante la eliminación de los recursos inactivos.

Para obtener información sobre las opciones de escalabilidad automática, vea lo siguiente:

Optimization

Cuando la aplicación esté en producción, asegúrese de lo siguiente:

  • El plan de hospedaje puede escalarse para satisfacer las demandas de la aplicación.
  • Hay un plan de continuidad empresarial, disponibilidad y recuperación ante desastres.
  • Puede supervisar el hospedaje y el mantenimiento de la aplicación, así como recibir alertas.

Implementación de los requisitos de disponibilidad

Azure Functions se ejecuta en una región específica. Para obtener una mayor disponibilidad, se puede implementar la misma aplicación de Functions en varias regiones. Functions se puede ejecutar en varias regiones en el patrón de disponibilidad activo-activo o activo-pasivo.

Para obtener más información sobre la disponibilidad y la recuperación ante desastres de Azure Functions, vea lo siguiente:

Registros de supervisión, supervisión de las aplicaciones y alertas

Application Insights y los registros en Azure Monitor recopilan automáticamente datos de registro, rendimiento y errores, y detectan anomalías en el rendimiento. Azure Monitor incluye potentes herramientas de análisis que permiten diagnosticar incidencias y comprender el uso de las funciones. Application Insights ayuda a mejorar continuamente el rendimiento y la facilidad de uso.

Para obtener más información sobre la supervisión y el análisis del rendimiento de Azure Functions, vea lo siguiente:

Pasos siguientes