¿Qué es Azure Functions?
- 3 minutos
Azure Functions es un servicio de proceso basado en la nube que proporciona proceso sin servidor basado en eventos y escalable para Azure. En algunos casos, solo se le factura el tiempo que se ejecuta el código de la función.
Puede usar Azure Functions para ejecutar el código solo cuando lo necesite. Por ejemplo, el código se puede ejecutar como resultado de un evento o un cambio, como cuando llega un mensaje a una cola o cuando se actualiza un objeto almacenado. También puede definir un intervalo programado para que el código se ejecute mediante reglas de cron.
Uso de desencadenadores para decidir cuándo se ejecuta código
Azure Functions permite definir desencadenadores, que inician la ejecución del código. Los desencadenadores también pueden procesar entradas para pasar datos a las funciones. Cada función solo puede tener un desencadenador. Entre los tipos de desencadenador admitidos por Azure Functions se incluyen:
- Almacenamiento: Puede escuchar eventos de bases de datos como Azure Cosmos DB. Por ejemplo, cuando se inserta una nueva fila.
- Eventos: Event Grid y Event Hubs generan eventos que pueden desencadenar el código.
- Código HTTP: las solicitudes web y los webhooks pueden desencadenar código HTTP.
- Colas: los mensajes de colas también se pueden procesar.
- Temporizador: Invoque código basado en un intervalo de tiempo especificado.
Uso de enlaces para conectarse a orígenes de datos
Los enlaces son formas de simplificar la codificación de los datos de entrada y salida. Aunque puede usar SDK de clientes para conectarse a servicios desde el código de la función, Azure Functions proporciona enlaces para simplificar esas conexiones. Básicamente, los enlaces son código de conexión que no es necesario escribir. Puede integrarse con muchos servicios de Azure para resolver problemas de integración y automatizar procesos empresariales.
Hay dos tipos de enlaces: de entrada y de salida. Un enlace de salida proporciona una manera de escribir datos en el destino de los datos; por ejemplo, colocar un mensaje en una cola o una fila nueva en una base de datos. Los enlaces de entrada se pueden usar para pasar datos a la función desde un origen de datos diferente al que desencadenó la función.
Características
Hay algunas características que hacen de Azure Functions una opción muy atractiva:
Planes de hospedaje flexibles. Hay tres planes de hospedaje diferentes para satisfacer sus necesidades empresariales.
- Plan de consumo. Una opción de hospedaje totalmente sin servidor para Functions. Functions escala de forma automática y usted paga por los recursos de proceso solo cuando se ejecuten las funciones. Este plan proporciona un proceso rentable para cargas de trabajo de proceso breves que tienden a ser más intermitentes con cargas menos predecibles.
- Plan Premium. En este plan, las funciones se mantienen inicializadas, lo que significa que no se produce ningún retraso después del tiempo de inactividad. El plan Premium es un buen plan para elegir cuándo la aplicación de funciones debe ejecutarse durante períodos más largos, pero todavía necesita la escala dinámica. Este plan también le permite empezar a escalar con más recursos más rápido que con el plan Consumo. En el plan Consumo también hay límites en el tiempo de ejecución, algo que también soluciona este plan. Aunque sigue disfrutando de las ventajas económicas de la escala dinámica, paga más.
- Plan dedicado. Las funciones se ejecutan con un plan de App Service normal. Es mejor para casos en los que las funciones deben ejecutarse continuamente. Otra ventaja es que controla por completo cómo se escala la aplicación y puede predecir más fácilmente los costos. Un plan dedicado también es una buena opción cuando tiene un plan de App Service existente pero infrautilizado disponible.
Escalado dinámico. En la mayoría de planes, las funciones se escalan dinámicamente en función de la carga. Cuando aumenta la demanda de ejecución, se asignan más recursos automáticamente al servicio, y cuando hay menos solicitudes, los recursos y las instancias de la aplicación se reducen automáticamente. En el plan Consumo, no se paga en absoluto por las funciones inactivas.
Arquitectura basada en eventos. Las funciones están pensadas para ser pequeñas y específicas. Procesan los datos entrantes y se realizan o generan un nuevo evento a su vez. Algunas áreas de uso comunes de Azure Functions son el envío de correos electrónicos, el inicio de copias de seguridad, el procesamiento de pedidos, la programación de tareas, como la limpieza de la base de datos, el envío de notificaciones, los mensajes y el procesamiento de datos de IoT.