Cuándo usar Azure Logic Apps
Aquí se describe cómo puede decidir si Azure Logic Apps es la opción adecuada para su escenario. 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. Si va a compilar una aplicación sin conexiones externas, es probable que 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 lograr un alto rendimiento. Sin embargo, el servicio no garantiza la activación super rápida ni exige restricciones en tiempo real en tiempo de ejecución. Si busca un tiempo de respuesta de subsegundos bajo, es posible que Azure Logic Apps no sea el mejor ajuste. |
Control | Azure Logic Apps proporciona construcciones de control como condiciones (Expresiones booleanas), acciones de conmutador y bucles para que las aplicaciones puedan tomar decisiones basadas en los datos. Puede crear estructuras de control muy complejas y profundamente anidadas en los flujos de trabajo de la aplicación lógica. Sin embargo, es posible que no desee dos razones. - La lógica condicional suele ser más fácil de escribir en código, en lugar de en el diseñador de flujos de trabajo. - Las reglas de negocio insertadas no se pueden compartir fácilmente con sus otras aplicaciones. A algunas personas les gusta incluir reglas de negocio complejas directamente en sus flujos de trabajo de aplicación lógica. 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 | La última consideración es si existen conectores precompilados para todos los servicios o sistemas a los que necesita acceder. Si existen, está listo para ir. Si no es así, debe crear conectores personalizados. 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í, primero debe crear la API antes de realizar el conector. |
Aplicación de los criterios
Azure Logic Apps funciona mejor cuando se integran varios servicios con lógica de control agregada. Pensemos en cómo aplicar estos criterios a nuestros procesos de ejemplo.
Nuestra empresa ficticia de calzado necesita supervisar las noticias del sector, trasladar los vídeos antiguos al almacén de archivos y vender zapatos en línea. Nuestro objetivo es decidir si Azure Logic Apps es un buen candidato para controlar estas tareas. Para tomar nuestra decisión, analizamos cada tarea usando los cuatro criterios que desarrollamos: integración, rendimiento, control y conectores. En la tabla siguiente se resumen los resultados.
Integración | Rendimiento | Control | Conectores | ¿Usa Azure Logic Apps? | |
---|---|---|---|---|---|
Monitor de noticias | Integra varios servicios | No necesita una latencia baja casi en tiempo real | Acción simple de una condición | Conectores integrados disponibles para todos los sistemas necesarios | Sí |
Utilidad de archivo de vídeos | Solo necesita acceder a un único servicio, almacenamiento en la nube | No necesita una latencia baja casi en tiempo real | Dos acciones de condición simples | Conectores precompilados disponibles para todos los sistemas necesarios | Sí |
Ventas en línea directas | Integra varios servicios | No necesita una latencia baja casi en tiempo real | Varias condiciones complejas | Se necesitan varios conectores personalizados | Es posible |
Este análisis genera algunas cosas interesantes que se deben tener en cuenta:
La tarea de archivo de vídeo es una buena opción para Azure Logic Apps aunque la tarea no integre varios sistemas.
Azure Logic Apps tiene un desencadenador de temporizador integrado y un conector de Azure Blob Storage que son perfectos para implementar este proceso.
Es probable que el proceso de ventas en línea incluya lógica de negocios compleja.
Por ejemplo, podríamos tener diferentes procesos de aprobación en función del importe de la compra o de diferentes remitentes en función del destino. Azure Logic Apps puede controlar fácilmente estas condiciones. Solo tenemos que elegir si insertar estas reglas de negocio en nuestra aplicación.
Es probable que el proceso de ventas en línea use una combinación de conectores precompilados y personalizados.
Podemos usar conectores creados previamente para notificaciones por correo electrónico y acceso a bases de datos, pero probablemente necesite un conector personalizado para comunicarse con nuestro servicio de procesamiento de pagos.
El rendimiento de Azure Logic Apps resulta adecuado para todas las tareas.
Algunas tareas pueden procesar grandes cantidades de datos, pero Azure Logic Apps se escala automáticamente para controlar el alto rendimiento o los picos de demanda. Ninguna de estas tareas necesita un tiempo de respuesta de latencia bajo. Para que este aspecto sea un problema, tendríamos que tener requisitos casi en tiempo real.
Azure Logic Apps podría funcionar para todas estas tareas y el proceso de ventas en línea es la única tarea en la que queremos ponderar todas nuestras opciones. Azure Logic Apps es una buena opción si tenemos los recursos para compilar los conectores personalizados que necesitamos.
Resumen de instrucciones
En el diagrama de flujo siguiente se resumen las preguntas clave que debe formularse si se plantea usar Azure Logic Apps.