Descubrir Azure Functions
Azure Functions es una solución sin servidor que le permite escribir menos código, mantener menos infraestructura y ahorrar costos. En lugar de preocuparse por implementar y mantener servidores, la infraestructura en la nube proporciona todos los recursos actualizados necesarios para mantener las aplicaciones en ejecución.
A menudo, se crean sistemas para que reaccionen a una serie de eventos críticos. Independientemente de si compila una API web, responde a cambios en una base de datos, procesa flujos de datos de IoT o incluso si administra colas de mensajes, cada aplicación necesita una forma de ejecutar código a medida que se producen estos eventos.
Azure Functions admite desencadenadores que son formas de iniciar la ejecución del código, y enlaces que son formas de simplificar la codificación para los datos de entrada y salida. Hay otros servicios de integración y automatización en Azure y todos ellos pueden resolver problemas de integración y automatizar procesos empresariales. Todos pueden definir entradas, acciones, condiciones y salidas.
Comparativa entre Azure Functions y Azure Logic Apps
Tanto Functions como Logic Apps son servicios de Azure que posibilitan las cargas de trabajo sin servidor. Azure Functions es un servicio de proceso sin servidor, mientras que Azure Logic Apps es una plataforma de integración de flujos de trabajo sin servidor. Ambos pueden crear orquestaciones complejas. Una orquestación es una colección de funciones o pasos, llamados acciones en Logic Apps, que se ejecutan para realizar una tarea compleja.
En Azure Functions, las orquestaciones se desarrollan mediante la escritura de código y el uso de la extensión Durable Functions. En Logic Apps, las orquestaciones se crean mediante una GUI o editando archivos de configuración.
En la tabla siguiente se enumeran algunas de las principales diferencias entre Functions y Logic Apps:
Tema | Azure Functions | Logic Apps |
---|---|---|
Desarrollo | Orientado a código (imperativo) | Orientado al diseñador (declarativo) |
Conectividad | Con una docena de tipos de enlaces integrados, puede escribir código para los enlaces personalizados | Gran colección de conectores, Enterprise Integration Pack para escenarios B2B, creación de conectores personalizados |
Acciones | Cada actividad es una función de Azure; puede escribir código para las funciones de actividad | Gran colección de acciones listas para usar |
Supervisión | Azure Application Insights | Azure Portal, registros de Azure Monitor |
Administración | REST API, Visual Studio | Azure Portal, API REST, PowerShell, Visual Studio |
Contexto de ejecución | Se ejecuta en Azure o localmente | Se ejecuta en Azure o localmente |
Comparativa entre Functions y WebJobs
Al igual que Azure Functions, Azure App Service WebJobs con el SDK de WebJobs es un servicio de integración de tipo código primero que está diseñado para desarrolladores. Ambos se basan en Azure App Service y admiten características como la integración del control de código fuente, la autenticación y la supervisión con integración de Application Insights.
Azure Functions se basa en el SDK de WebJobs, por lo que comparte muchos desencadenadores de eventos y conexiones con otros servicios de Azure. Estos son algunos de los factores que se deben tener en cuenta al elegir entre Azure Functions y WebJobs con el SDK de WebJobs:
Factor | Funciones | WebJobs con el SDK de WebJobs |
---|---|---|
Modelo de aplicaciones sin servidor con escalado automático | Sí | No |
Desarrollo y pruebas en el explorador | Sí | No |
Precio de pago por uso | Sí | No |
Integración con Logic Apps | Sí | No |
Desencadenar eventos | Temporizador Blobs y colas de Azure Storage Colas y temas de Azure Service Bus Azure Cosmos DB Azure Event Hubs HTTP/WebHook (GitHub Slack) Azure Event Grid |
Temporizador Blobs y colas de Azure Storage Colas y temas de Azure Service Bus Azure Cosmos DB Azure Event Hubs Sistema de archivos |
Azure Functions ofrece más productividad de desarrollo que WebJobs de Azure App Service. También ofrece más opciones de lenguajes de programación, entornos de desarrollo, integración del servicio Azure y precios. En la mayoría de los casos, es la mejor opción.