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:

Para obtener un resumen y comparación de las opciones de servicio de automatización en Azure:

Comparación entre Microsoft Power Automate y Azure Logic Apps

Power Automate y Azure Logic Apps son servicios de integración orientados al diseñador que pueden crear flujos de trabajo. Ambos servicios se integran con varias aplicaciones SaaS y empresariales.

Power Automate se basa en la plataforma Azure Logic Apps. Ambos proporcionan conectores y diseñadores de flujos de trabajo similares.

Power Automate permite a los trabajadores de oficina realizar integraciones sencillas (por ejemplo, un proceso de aprobación en una biblioteca de documentos de SharePoint) sin pasar por los desarrolladores o el departamento de TI. Logic Apps también puede permitir integraciones avanzadas (por ejemplo, procesos B2B) donde se requieren procedimientos Azure DevOps y de seguridad de nivel empresarial. Lo normal es que la complejidad de un flujo de trabajo empresarial aumente con el tiempo.

La tabla siguiente le ayuda a determinar qué es lo mejor para una integración específica, si Power Automate o Logic Apps:

Power Automate Logic Apps
Usuarios Administrativos, usuarios empresariales, administradores de SharePoint Integradores profesionales y desarrolladores, profesionales de TI
Escenarios Autoservicio Integraciones avanzadas
Herramienta de diseño En el explorador y aplicación móvil, solo UI En el explorador, Visual Studio Code y Visual Studio con la visualización del código disponible.
Administración del ciclo de vida de las aplicaciones (ALM) Power Platform proporciona herramientas que se integran con DevOps y Acciones de GitHub para permitirle crear canalizaciones automatizadas en el ciclo de ALM. Azure DevOps: control de código fuente, pruebas, soporte técnico, automatización y capacidad de administración en Azure Resource Manager
Experiencia del administrador Administración de directivas de prevención de pérdida de datos (DLP) y entornos de flujo de Power Automate, seguimiento de licencias: Centro de administración Administración de grupos de recursos, conexiones, administración de acceso y registro: Azure Portal
Seguridad Registros de auditoría de seguridad de Microsoft 365, DLP, cifrado en reposo para datos confidenciales Garantía de seguridad de Azure: Seguridad de Azure, Microsoft Defender para la nube, registros de auditoría.

Comparativa entre Azure Functions y Azure Logic Apps

Functions y 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 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, las orquestaciones se crean mediante una GUI o editando archivos de configuración.

Puede mezclar y combinar servicios cuando crea una orquestación, como llamar a las funciones desde las flujos de trabajo de aplicaciones lógicas y llamar a los flujos de trabajo de aplicaciones lógicas desde las 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 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, Microsoft Defender for Cloud
Administración API REST, Visual Studio Azure Portal, API REST, PowerShell, Visual Studio
Contexto de ejecución Se puede ejecutar localmente o en la nube Se ejecuta en Azure localmente. 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 puede 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 una cadena de 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.

Para otros escenarios en los que desee ejecutar fragmentos de código para integrar Azure o servicios de terceros, 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, Logic Apps y Functions continúa mejorando con el tiempo. Puede compilar un componente en un servicio y usarlo en otro.

Puede obtener más información acerca de los servicios de integración mediante los siguientes vínculos:

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: