Análisis de los criterios de decisión

Completado

En una empresa de alquiler de bicicletas se llevan a cabo diversos procesos de negocio. Por ejemplo, hay un proceso de alquiler de bicicletas, de devolución, de reserva de bicicletas y otros procesos que no se relacionan directamente con las bicicletas, como la planificación de las vacaciones del personal.

Hemos introducido una matriz de tecnologías de Azure que podrían ser útiles para crear estos procesos. Ahora vamos a intentar especificar cómo se toma una decisión para cada proceso en concreto.

Cómo se elige un servicio

En la imagen siguiente se muestra un diagrama de flujo simplificado que puede usar para elegir la tecnología más adecuada para su proceso de negocio:

Diagrama del gráfico de flujo de decisión que describiremos en profundidad en el texto siguiente.

Lo primero que se debe plantear es si prefiere diseñar el flujo de trabajo en una herramienta de diseñador de GUI o mediante la escritura de código. Entre las razones válidas para usar una herramienta orientada al diseño se incluyen las siguientes:

  • Las personas que diseñan el flujo de trabajo no tienen experiencia de codificación.
  • Posteriormente, los diseñadores y los usuarios pueden consultar el diseño gráfico para entender claramente cómo se desarrolla el flujo de trabajo.

También puede optar por usar una herramienta orientada al código por estas razones:

  • Las personas que diseñan el flujo de trabajo son desarrolladores y prefieren trabajar únicamente con código.
  • Quiere que los detalles de un flujo de trabajo estén ocultos para las personas sin experiencia en codificación.

Elección de una tecnología design-first

Si decide usar un enfoque orientado al diseño, debe elegir entre Microsoft Power Automate y Azure Logic Apps.

La principal pregunta que debe plantearse es la siguiente: ¿quién diseñará el flujo de trabajo: desarrolladores o usuarios?

Logic Apps incluye un diseñador visual en el que se puede dibujar el flujo de trabajo. Es intuitivo y fácil de usar, pero también permite profundizar y editar el código fuente de un flujo de trabajo. Esta herramienta está diseñada para personas con conocimientos de desarrollo.

Microsoft Power Automate ofrece ayuda adicional y plantillas para los tipos comunes de flujo de trabajo. No es posible editar el código fuente que crea la herramienta. Esta herramienta está diseñada para usuarios que conozcan bien el proceso de negocio, pero que no tengan conocimientos de codificación.

Elección de una tecnología code-first

Si decide usar un enfoque orientado al código, debe elegir entre WebJobs y Azure Functions.

Debido a las características adicionales que se incluyen con Azure Functions, incluida la mayor variedad de eventos del desencadenador y lenguajes admitidos, la capacidad para desarrollar código de prueba en el explorador y el modelo de precios de pago por uso, debe considerar Azure Functions la opción predeterminada. Existen algunos casos en los que WebJobs puede ser una opción mejor:

  • Ya tiene una aplicación de Azure App Service y quiere modelar el flujo de trabajo dentro de la aplicación. Este requisito significa que el flujo de trabajo también debe poder administrarse como parte de la aplicación; por ejemplo, en un entorno de Azure DevOps.
  • Tienes personalizaciones específicas que quieres realizar en JobHost y que no son compatibles con Azure Functions.
  • Quiere controlar las directivas de reintento de la aplicación.
  • WebJobs solo admite C# en Microsoft Windows.

Combinación de tecnologías

Recuerda que no estás obligado a usar la misma tecnología en flujos de trabajo diferentes: si los requisitos son distintos, es probable que propongas una solución distinta al final del proceso de toma de decisiones. Además, puede llamar a un flujo de trabajo desde otro. Por ejemplo, un flujo de trabajo implementado en Microsoft Power Automate puede llamar fácilmente a otro flujo compilado como una función de Azure Function.

Una razón para combinar las tecnologías usadas en los procesos de negocio es que le interesa que los usuarios controlen una pequeña sección de un flujo de trabajo completo. Para ello, implemente dicha sección en Microsoft Power Automate y, después, llame a ese flujo desde Logic Apps, WebJob o Function.