Cuándo usar Azure Logic Apps

Completado

Aquí se explica cómo decidir si Azure Logic Apps es la elección correcta para un flujo de trabajo. Para empezar, se van a enumerar algunos criterios que indican si Azure Logic Apps cumple los objetivos de rendimiento y funcionales.

Criterios de decisión

Azure Logic Apps le ayuda a coordinar el flujo de datos entre sistemas dispares. Los casos en los que Azure Logic Apps podría no ser la mejor opción suelen implicar requisitos en tiempo real, reglas de negocio complejas o el uso de servicios no estándar. Esta es una explicación de cada uno de estos factores.

Factor Descripción
Integración La principal pregunta que debe hacerse cuando contemple la posibilidad de usar Azure Logic Apps es "¿es necesario integrar servicios?". Azure Logic Apps funciona bien cuando es necesario que varias aplicaciones y sistemas trabajen de manera conjunta. Para eso se diseñó. Si va a compilar una aplicación sin conexiones externas, probablemente Azure Logic Apps no sea la mejor opción.
Rendimiento La siguiente consideración es el rendimiento. El motor de ejecución de Azure Logic Apps escala automáticamente las aplicaciones. Azure Logic Apps puede procesar grandes conjuntos de datos en paralelo para que pueda alcanzar un alto rendimiento. Sin embargo, no garantiza una activación superrápida ni aplica restricciones en tiempo real sobre el tiempo de ejecución. Si lo que busca es un tiempo de respuesta bajo en subsegundos, es posible que Azure Logic Apps no sea la mejor opción.
Condicionales Azure Logic Apps ofrece construcciones de control como expresiones booleanas, instrucciones switch y bucles, para que las aplicaciones puedan tomar decisiones en función de los datos. Puede crear condicionales profundamente anidadas y de gran complejidad en los flujos de trabajo de aplicación lógica. Hay dos motivos por los que tal vez prefiera no hacerlo. En primer lugar, suele ser más fácil escribir lógica condicional en el código que usar el diseñador de flujos de trabajo. En segundo lugar, las reglas de negocio insertadas no pueden compartirse fácilmente con sus otras aplicaciones. A algunos usuarios les gusta incluir directamente reglas de negocio complejas en los flujos de trabajo de sus aplicaciones lógicas. Otros creen que resulta más sencillo escribir algo como una función de Azure que encapsule la lógica condicional e invocar dicha función desde todas las aplicaciones.
Conectores Lo último que debe sopesar es si existen conectores prediseñados para todos los servicios a los que necesita acceder. Si es así, ya está listo para empezar. En caso de que no existan, tendrá que crear un conector personalizado. Si el servicio tiene una API REST o SOAP existente, puede crear el conector personalizado en unas pocas horas sin escribir código alguno. Si no es así, tendrá que crear en primer lugar la API antes de crear el conector.

Aplicación de los criterios

Azure Logic Apps funciona mejor cuando se integran varios servicios con lógica de control agregada. Aunque la decisión suele ser subjetiva. Pensemos en cómo aplicar estos criterios a nuestros procesos de ejemplo.

Nuestra empresa de calzado ficticia tenía que supervisar las redes sociales, mover los vídeos anteriores a Archive Storage y vender zapatos en línea. Nuestro objetivo era decidir si estas tareas eran buenas candidatas para Logic Apps. Para tomar la decisión, debemos analizar cada tarea según los cuatro criterios que hemos desarrollado: integración, rendimiento, condicionales y conectores. En la tabla siguiente se resumen los resultados.

Integración Rendimiento Condicionales Conectores ¿Debería usar Logic Apps?
Supervisión de redes sociales Integra varios servicios No necesita una latencia baja prácticamente en tiempo real Un condicional simple Conectores integrados disponibles para todos los sistemas necesarios
Utilidad de archivo de vídeos Solo necesita acceder a un único servicio, almacenamiento en la nube No necesita una latencia baja prácticamente en tiempo real Dos condicionales simples Conectores integrados disponibles para todos los sistemas necesarios
Ventas en línea directas Integra varios servicios No necesita una latencia baja prácticamente en tiempo real Varios condicionales complejos Se necesitan varios conectores personalizados Es posible

Hay algunos aspectos interesantes que tener en cuenta en este análisis.

  • La tarea de archivo de vídeos es una buena elección para Logic Apps, aunque no integra varios sistemas. Azure Logic Apps tiene un desencadenador de temporizador y un conector de blobs de Azure integrados que resultan perfectos para implementar este proceso.

  • Es probable que el proceso de ventas en línea incluya lógica de negocios compleja. Por ejemplo, podemos tener diferentes procesos de aprobación en función del importe de la compra o diferentes expedidores en función del destino. Azure Logic Apps puede controlar fácilmente estas condiciones. A nosotros nos corresponde decidir si queremos insertar estas reglas de negocio en nuestra aplicación.

  • El proceso de ventas en línea probablemente use una combinación de conectores integrados y personalizados. Podríamos usar conectores incorporados para notificaciones de correo electrónico y acceso a bases de datos, pero probablemente necesitaríamos un conector personalizado para comunicarnos con nuestro servicio de procesamiento de pagos.

  • El rendimiento de Azure Logic Apps resulta adecuado para todas las tareas. Es posible que algunas procesen grandes cantidades de datos, pero Azure Logic Apps se escala automáticamente para controlar un alto rendimiento o los picos de demanda. Ninguna de estas tareas necesita un tiempo de respuesta de latencia bajo. Se necesitarían restricciones prácticamente en tiempo real para que eso fuese un problema.

Azure Logic Apps podría funcionar con todas estas tareas. El proceso de ventas en línea es el único en el que queremos sopesar todas nuestras opciones. Azure Logic Apps sería una buena elección si tuviera los recursos necesarios para crear los conectores personalizados que necesita.

Resumen de instrucciones

En el diagrama de flujo siguiente se resumen las preguntas clave que debe formularse si se plantea usar Azure Logic Apps.

Flowchart of the key questions to ask when evaluating Azure Logic Apps for your work.

Un diagrama de flujo que le ayudará a decidir si Azure Logic Apps es adecuado para el trabajo. En el diagrama de flujo se resumen las preguntas clave que debe formularse al evaluar Azure Logic Apps para el trabajo. En primer lugar, ¿implica el proyecto la integración de varios sistemas? En segundo lugar, ¿se necesita una latencia baja? En tercer lugar, ¿incluye el proceso una lógica compleja? En cuarto lugar, ¿existen conectores para todos los sistemas a los que tiene que acceder?