Compartir a través de


Elección de los servicios de integración y automatización adecuados en Azure

En este artículo se comparan los siguientes servicios en la nube de Microsoft:

Todos estos servicios pueden solucionar problemas de integración y automatizar procesos empresariales. Todos pueden definir entradas, acciones, condiciones y salidas. Todos se pueden ejecutar según una programación o un desencadenador. Cada servicio tiene unas ventajas únicas y este artículo explica las diferencias.

Nota:

Si busca una comparación más general entre Azure Functions y otras opciones de proceso de Azure, consulte los siguientes artículos:

Para ver un resumen y una comparación de las opciones del servicio de automatización en Azure, consulte Elección de los servicios de Automation en Azure.

Comparación Azure Logic Apps y Microsoft Power Automate

Estos servicios son plataformas de integración orientados al diseñador en las que puede compilar y ejecutar flujos de trabajo automatizados. Ambas plataformas se integran con diversas aplicaciones empresariales y de software como servicio (SaaS). Ambas proporcionan diseñadores de flujos de trabajo similares y, aunque sus conectores comparten cierta superposición, cada plataforma también ofrece sus propios conectores únicos.

Power Automate permite a los usuarios empresariales, a los trabajadores de oficina y a los desarrolladores ciudadanos crear integraciones sencillas sin tener que trabajar con TI o desarrolladores ni escribir código. Un ejemplo podría ser un flujo de trabajo de aprobación para una biblioteca de documentos de SharePoint. Azure Logic Apps admite integraciones que van desde escenarios con poco o sin código a complejos flujos de trabajo más avanzados y con código. Algunos ejemplos son los procesos o escenarios B2B que requieren interacciones de nivel empresarial con Azure DevOps. Los flujos de trabajo empresariales también puede pasar de simples a completos con el paso del tiempo.

Para ayudarle a determinar si desea usar Azure Logic Apps o Power Automate para una integración concreta, consulte la tabla de comparación de funcionalidades.

Comparativa entre Azure Functions y Azure Logic Apps

Estos servicios de Azure permiten compilar y ejecutar cargas de trabajo sin servidor. Azure Functions es un servicio de procesos 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, a las que se denomina acciones en Azure Logic Apps, que se pueden ejecutar para realizar una tarea compleja. Por ejemplo, para procesar un lote de pedidos podría ejecutar varias instancias de una función en paralelo, esperar a que todas las instancias terminen y, a continuación, ejecutar una función que calcula un resultado sobre el agregado.

En Azure Functions, las orquestaciones se desarrollan mediante la escritura de código y el uso de la extensión Durable Functions. En Azure Logic Apps, para crear orquestaciones es preciso usar diseñador visual o editar plantillas de Azure Resource Manager.

Puede combinar y asociar servicios al crear una orquestación. Por ejemplo, puede llamar a funciones desde flujos de trabajo de una aplicación lógica y llamar a flujos de trabajo de una aplicación lógica desde funciones. Elija cómo crear cada orquestación según las funcionalidades de los servicios o sus preferencias personales. En la tabla siguiente se enumeran algunas de las diferencias principales entre estos servicios:

Funciones duraderas Azure Logic Apps
Desarrollo Orientado a código (imperativo) Orientado al diseñador (declarativo)
Conectividad - Una docena de tipos de enlace integrados
- Escritura de código para enlaces personalizados
- Más de 1400 conectores precompilados con desencadenadores y acciones
- Enterprise Integration Pack para escenarios B2B
- Conectores personalizados
Acciones Cada actividad es una función de Azure; puede escribir código para las funciones de actividad Más de 1400 conectores precompilados con desencadenadores y acciones
Supervisión Azure Application Insights - Azure Portal
- Registros de Azure Monitor
- Microsoft Defender for Cloud
- Azure Application Insights para flujos de trabajo estándar
- Comprobación de estado para flujos de trabajo estándar

Para más información, consulte Supervisión de flujos de trabajo en Azure Logic Apps.
Administración - REST API
- Visual Studio
- Azure Portal
- Visual Studio Code
- REST API
- PowerShell
- CLI de Azure (flujos de trabajo estándar)
- CLI de Azure (flujos de trabajo de consumo)
Contexto de ejecución Se puede ejecutar localmente o en la nube Se puede ejecutar en Azure, localmente en Visual Studio Code o en entornos parcialmente conectados. Para más información, consulte ¿Qué es Azure Logic Apps?

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.

WebJobs y el SDK de WebJobs

Puede usar la característica WebJobs de App Service para ejecutar un script o código en el contexto de una aplicación web de App Service. El SDK de WebJobs es un marco diseñado para WebJobs que simplifica el código que se escribe para responder a eventos en los servicios de Azure. Por ejemplo, podría responder a la creación de un blob de imágenes en Azure Storage mediante la creación de una imagen en miniatura. El SDK de WebJobs se ejecuta como una aplicación de consola .NET que se puede implementar en un WebJob.

Tanto WebJobs como el SDK de WebJobs funcionan mejor conjuntamente, pero WebJobs se puede usar sin el SDK de WebJobs, y viceversa. Un WebJob puede ejecutar cualquier programa o script que se ejecute en el espacio aislado de App Service. Una aplicación de consola del SDK de WebJobs se puede ejecutar en cualquier lugar en el que se puedan ejecutar aplicaciones de consola, como los servidores locales.

Tabla de comparación

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:

Functions WebJobs con el SDK de WebJobs
Modelo de aplicaciones sin servidor con escalado automático
Desarrollo y pruebas en el explorador
Precios de pago por uso
Integración con Logic Apps
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
Idiomas admitidos C#
F#
JavaScript
Java
Python
PowerShell
C#1
Administradores de paquetes npm y NuGet NuGet2

1WebJobs (sin el SDK de WebJobs) admite lenguajes como C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python y muchos más. Un WebJob puede ejecutar cualquier programa o script que se pueda ejecutar en el espacio aislado de App Service.

2 WebJobs (sin el SDK de WebJobs) admite npm y NuGet.

Resumen

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.

Estos son dos de los casos en los que WebJobs podría ser la mejor opción:

  • Es preciso tener más control sobre el código que realiza escuchas de eventos, el objeto JobHost. Functions ofrece un número limitado de formas de personalizar el comportamiento de JobHost en el archivo JobHost. A veces, es preciso hacer cosas que no se pueden especificar mediante el uso de una cadena en un archivo JSON. Por ejemplo, el SDK de WebJobs es el único que le permite configurar una directiva de reintentos personalizada para Azure Storage.
  • Tiene una aplicación de App Service en la que desea ejecutar fragmentos de código y desea administrarlos conjuntamente en el mismo entorno de Azure DevOps.

En el caso de otros escenarios en los que desee ejecutar fragmentos de código para integrar Azure o servicios externos, elija Azure Functions, en lugar de WebJobs con el SDK de WebJobs.

Power Automate, Logic Apps, Functions y WebJobs juntos

No tiene por qué elegir solo uno de estos servicios. Se integran entre sí y con servicios externos.

Un flujo de Power Automate puede llamar a un flujo de trabajo de Azure Logic Apps. Un flujo de trabajo de Azure Logic Apps puede llamar a una función en Azure Functions y viceversa. Por ejemplo, consulte Creación de una función que se integre con Azure Logic Apps.

La experiencia de integración entre Power Automate, Azure Logic Apps y Functions continúa mejorando con el tiempo. Puede compilar un componente en un servicio y usarlo en otro.

Para más información sobre los servicios de integración, consulte los siguientes artículos:

Pasos siguientes

Para empezar, cree su primer flujo, aplicación lógica, flujo de trabajo o aplicación de función. Seleccione cualquiera de los siguientes vínculos: