Computación sin servidor
¿Qué es Azure Function?
Published: 30 de octubre de 2024
Last updated: noviembre 26, 2024
¿Qué es Azure Function?
Azure Function está alojada en Microsoft Azure y es una herramienta de computación sin servidor. Los desarrolladores la utilizan para no administrar servidores pero aun así ejecutar código. Varios eventos activarán la ejecución de código, por lo que es utilizada por aplicaciones basadas en eventos.
Azure Functions tiene múltiples lenguajes y se utiliza para cargas de archivos, API web, procesamiento de flujo de datos y otras funciones basadas en activadores/enlaces.
Encontrarás Azure Functions dentro del ecosistema sin servidor de Azure. Intégrala con Event Grid, Logic Apps y Service para escalar aplicaciones en la nube hacia arriba o hacia abajo.
¿Cuándo debo usar Azure Functions?
Deberías utilizar Azure Functions para la escalabilidad de tareas basada en activadores y eventos. La herramienta podría ser adecuada si la gestión de la infraestructura no es tu prioridad, pero aun así es necesario ejecutar código.
Azure Functions es utilizada por desarrolladores individuales y organizaciones más grandes. Los eventos para los que podrías necesitar utilizar la herramienta incluyen cambios de fecha, activadores de temporizador y solicitudes HTTP.
También puedes utilizar Azure Functions para la integración de sistemas o la automatización de flujos de trabajo. Otros casos de uso son el procesamiento de datos y la creación de API. Algunos escenarios comunes en los que utilizarías Azure Functions son:
- Envío de correos electrónicos o notificaciones y otras formas de automatización de tareas
- Creación de API sin servidor y microservicios
- Integración con Azure Storage, Logic Apps y herramientas similares
- Procesamiento de datos de sensores o dispositivos IoT
Revisa la documentación de Azure Functions y consulta las plantillas/ejemplos disponibles antes de utilizarla.
¿Qué opciones de alojamiento están disponibles para Azure Functions?
Puedes utilizar cuatro funciones de alojamiento dentro de Azure Functions: Consumo, Premium y Planes Dedicados, y el Escalador Automático Basado en Eventos de Kubernetes (KEDA) si necesitas alojamiento basado en Kubernetes.
Los precios y las características varían según cada plan, lo que significa que tendrás que considerar tu carga de trabajo prevista. Piensa en tus requisitos de escalabilidad y conectividad antes de tomar una decisión. También deben analizarse el rendimiento, los costes y las capacidades.
¿Cuáles son los beneficios de utilizar Azure Functions?
arquitectura sin servidor escala las cargas de trabajo en función de la demanda, lo que significa que los desarrolladores pueden centrarse en la codificación; sin embargo, es posible que tengas que modificar las reglas de forma intermitente si tus necesidades cambian.
Puedes utilizar Azure Functions con JavaScript, Python y otros lenguajes de programación. Puedes utilizar Azure Functions con otros servicios de Azure, pero se pueden utilizar otros externos en su lugar. Los desarrolladores utilizan Azure Functions para funciones basadas en varios desencadenadores de eventos/enlaces de datos.
También deberías usar Azure Functions para pruebas e implementación mientras controlas gestión de acceso a través de easy-auth. Los desarrolladores pueden usar Azure Functions en nubes en entornos híbridos; también puedes pensar en el precio de pago por uso.
¿Qué son las funciones duraderas?
Durable Functions es una extensión de Azure Functions. Los desarrolladores la utilizan para crear funciones con estado sin servidor. Deberías utilizar Durable Functions si tienes flujos de trabajo de larga duración que son más complejos y pueden necesitar puntos de control o reinicios automáticos. La gestión del estado también debe tenerse en cuenta al utilizar Durable Functions.
Utiliza el modelo de programación de Durable Functions para flujos de trabajo con estado/gestión de orquestaciones. Coordinar múltiples funciones también es algo que puedes necesitar considerar. Utiliza Durable Functions para:
- Procesos de aprobación
- Procesamiento periódico de datos
- Flujos de trabajo de interacción humana
¿Qué idiomas puedo utilizar para Azure Functions?
Los desarrolladores pueden utilizar Azure Functions con PowerShell, Python, Java, TypeScript, C#, JavaScript y otros lenguajes de programación. Totalmente compatibles y experimentales son los dos niveles que puedes utilizar.
Mientras que los lenguajes totalmente compatibles tienen soporte nativo que te permite desarrollar/ejecutar funciones únicamente en un lenguaje, el experimental es más limitado y debe utilizarse para pruebas/exploración.
Conclusión
Azure Functions es una herramienta que deberías considerar utilizar si necesitas computación sin servidor; puede ayudar con la escalabilidad, la eficiencia y la rentabilidad, pero tendrás que considerar los inconvenientes de no gestionar tu servidor. Utiliza Azure Functions para API web, sistemas basados en eventos y requisitos similares.