Podrá identificar las opciones de tecnología

Completado

No dispone de mucho tiempo para integrar correctamente los procesos empresariales entre el sistema de alquiler de bicicletas existente y el sistema en uso en el segundo campus. Le gustaría aprovechar al máximo sus conocimientos sobre Azure y ha leído que Azure incluye varias tecnologías diferentes que puede usar para resolver problemas de este tipo.

En esta unidad, exploraremos las opciones de tecnología de Azure que están disponibles para automatizar e integrar sus procesos empresariales.

Problemas empresariales comunes

En el ámbito de los negocios, una forma de garantizar a los clientes un servicio y productos de alta calidad consiste en diseñar e implementar procesos empresariales estrictos. Estos procesos pueden implicar varios pasos, personas y paquetes de software. Cada proceso podría llevarse a cabo siguiendo una serie de actividades que los trabajadores realizan una tras otra, o bien podría bifurcarse o repetirse en bucle. Además, los procesos podrían ejecutarse rápidamente o tardar días o semanas en completarse.

A menudo, una empresa se enfrenta a diversos problemas cuando se fusiona con otra o se integra en una organización asociada. ¿Cómo pueden los administradores integrar los procesos usados en ambas organizaciones que, por otra parte, podrían haberse implementado con otro software?

Los procesos empresariales modelados en software suelen denominarse flujos de trabajo. Azure incluye cuatro tecnologías diferentes para compilar e implementar flujos de trabajo que integran varios sistemas:

  • Logic Apps
  • Microsoft Power Automate
  • WebJobs
  • Azure Functions

Estas cuatro tecnologías presentan algunas similitudes. Por ejemplo:

  • Pueden aceptar entradas. Una entrada es un fragmento de datos o un archivo que se suministra al flujo de trabajo.
  • Pueden ejecutar acciones. Una acción es una operación sencilla que el flujo de trabajo ejecuta y, a menudo, podría modificar datos o hacer que se realice otra acción.
  • Pueden incluir condiciones. Una condición es una prueba que suele realizarse en una entrada y que podría decidir qué acción se ejecuta a continuación.
  • Pueden producir salidas. Una salida es un fragmento de datos o un archivo creado por el flujo de trabajo.

Además, los flujos de trabajo que se crean con estas tecnologías pueden iniciarse según una programación o activarse mediante un evento externo.

Tecnologías orientadas al diseño

Cuando los analistas de negocios debaten y planifican un proceso de negocio, a veces dibujan un diagrama de flujo sobre un papel. Con Logic Apps y Microsoft Power Automate, usted puede adoptar un enfoque similar al diseñar un flujo de trabajo. Ambos incluyen interfaces de usuario en las que puede dibujar el flujo de trabajo. Este enfoque se denomina orientado al diseño.

Logic Apps

Logic Apps es un servicio de Azure para automatizar, organizar e integrar los distintos componentes de una aplicación distribuida. Mediante el enfoque orientado al diseño de Logic Apps, puede dibujar flujos de trabajo complejos que sirvan como modelo para procesos empresariales complejos. En la siguiente captura de pantalla se muestran el diseñador de Logic Apps y el lienzo de diseño que se usan para definir el flujo de trabajo.

Screenshot of the Logic Apps workflow designer in the Azure portal.

Como alternativa, si prefiere trabajar con código, puede crear o editar un flujo de trabajo en la notación JSON mediante la vista de código, como se muestra en la captura de pantalla siguiente.

Screenshot of the Logic Apps code editor in the Azure portal.

Uno de los motivos por los que Logic Apps es tan bueno para la integración es que incluye más de 200 conectores. Un conector es un componente de Logic Apps que proporciona una interfaz a un servicio externo. Por ejemplo, el conector de X permite enviar y recuperar publicaciones cortas, mientras que el conector de Office 365 Outlook permite administrar el correo, el calendario y los contactos. Logic Apps proporciona cientos de conectores prediseñados que puede usar para crear aplicaciones. En caso de que tengas un sistema único o poco habitual al que quieras llamar desde Logic Apps, puedes crear un conector propio si el sistema expone una API de REST.

Microsoft Power Automate

Microsoft Power Automate es un servicio para crear flujos de trabajo incluso si no se tiene experiencia profesional de TI o desarrollo. Puede crear flujos de trabajo que integren y organicen muchos componentes diferentes mediante la aplicación móvil de Microsoft Power Automate o el sitio web.

Se pueden crear cuatro tipos de flujo:

  • Automatizado: se inicia mediante un desencadenador desde algún evento. Por ejemplo, el evento podría ser la llegada de una nueva publicación corta o la carga de un nuevo archivo.
  • Botón: ejecuta una tarea repetitiva con un solo clic desde el dispositivo móvil.
  • Programado: se ejecuta regularmente. Por ejemplo, una vez por semana, en una fecha específica o 10 horas después.
  • Proceso empresarial: modela un proceso de negocio, como la ordenación de las existencias o la gestión de quejas. El proceso del flujo puede incluir: notificaciones a las personas necesarias, el registro de su aprobación, las fechas del calendario para los pasos y el tiempo registrado de los pasos del flujo.

Microsoft Power Automate proporciona una superficie de diseño fácil de usar para crear esos tipos flujos. Como se muestra en la captura de pantalla siguiente, el diseñador de flujos facilita el diseño del proceso.

Screenshot of the Microsoft Power Automate designer showing a workflow with a file trigger, an Office action to get a user's profile and an Outlook action to send an email.

Internamente, Microsoft Power Automate se compila a partir de Logic Apps. Esto significa que Power Automate admite la misma gama de conectores y acciones que Logic Apps. También puede usar conectores personalizados en Microsoft Power Automate.

Comparación de las tecnologías orientadas al diseño

Como puede ver en la tabla siguiente, Microsoft Power Automate es más adecuado para su uso por parte de personal no técnico. Si los diseñadores de flujos de trabajo son profesionales de TI, desarrolladores o profesionales de DevOps, Logic Apps suele ser una opción mejor:

Microsoft Power Automate Logic Apps
Usuarios previstos Trabajadores de oficina y analistas de negocios Desarrolladores y profesionales de TI
Escenarios previstos Creación de flujos de trabajo de autoservicio Proyectos de integración avanzados
Herramientas de diseño Solo GUI. Explorador y aplicación móvil Explorador y diseñador de Visual Studio. Es posible editar el código
Administración del ciclo de vida de las aplicaciones Power Automate incluye entornos de producción y pruebas El código fuente de Logic Apps se puede incluir en Azure DevOps y sistemas de administración de código fuente

Tecnologías orientadas al código

Los desarrolladores de su equipo probablemente preferirán escribir código a la hora de organizar e integrar aplicaciones empresariales diferentes en un único flujo de trabajo. Esto sucede cuando se requiere más control sobre el rendimiento del flujo de trabajo o cuando se necesita escribir código personalizado como parte del proceso de negocio. Para estos usuarios, Azure incluye WebJobs y Functions.

WebJobs y el SDK de WebJobs

Azure App Service es un servicio de hospedaje basado en la nube para aplicaciones web, back-end para dispositivos móviles y API RESTful. Estas aplicaciones a menudo necesitan realizar algún tipo de tarea en segundo plano. Por ejemplo, en el sistema de alquiler de bicicletas, probablemente deba generar una foto en miniatura más pequeña cuando un usuario cargue una foto de una bicicleta.

WebJobs es una parte de Azure App Service que se puede usar para ejecutar un programa o un script de manera automática. Hay dos tipos de trabajos web de WebJobs:

  • Continuo: Se inicia inmediatamente cuando se crea el trabajo web y se ejecuta en un bucle continuo. Por ejemplo, podría usar un trabajo web continuo para buscar en una carpeta compartida una nueva foto.
  • Desencadenado. Se inicia con un evento de enlace, según una programación o cuando se desencadena manualmente (a petición).

Para determinar qué acciones realiza el trabajo web, puedes escribir código en distintos lenguajes. Por ejemplo, puede crear scripts del trabajo web si escribe código en un script de Shell (Windows, PowerShell, Bash). Otra opción consiste en escribir un programa en PHP, Python, Java o JavaScript.

Además, puede programar un trabajo web de WebJobs con .NET y un lenguaje .NET, como C# o VB.NET. En este caso, también puede usar el SDK de WebJobs para facilitar la tarea. El SDK incluye diversas clases, como JobHostConfiguration y HostBuilder, que reducen la cantidad de código necesario para interactuar con Azure App Service.

El SDK de WebJobs solo admite C# y el administrador de paquetes NuGet.

Azure Functions

Una función de Azure Functions es una manera sencilla de ejecutar pequeños fragmentos de código en la nube sin tener que preocuparse por la infraestructura necesaria para hospedar ese código. Puede escribir la función en C#, Java, JavaScript, PowerShell, Python o cualquiera de los lenguajes que se indican en el artículo Lenguajes admitidos en Azure Functions. Además, con la opción de plan de consumo, solo paga por el tiempo durante el que se ejecuta el código. Azure escala automáticamente la función en respuesta a la demanda de los usuarios.

Para empezar a crear una función de Azure Functions, puede escribir su código en el portal. Si necesita administración de código fuente, también puede usar GitHub o Azure DevOps Services.

Para crear una función de Azure Functions, puede elegir entre diversas plantillas. En la lista siguiente se muestra un ejemplo de algunas de las plantillas disponibles:

  • Desencadenador de HTTP. Cuando quiera que el código se ejecute en respuesta a una solicitud enviada mediante el protocolo HTTP.
  • Desencadenador de temporizador. Cuando quiera que el código se ejecute según una programación.
  • Desencadenador de Blob Storage. Cuando quiera que el código se ejecute en el momento en que se agregue un nuevo blob a una cuenta de Azure Storage.
  • Desencadenador de Cosmos DB. Cuando quiera que el código se ejecute en respuesta a documentos nuevos o actualizados en una base datos de NoSQL.

Azure Functions puede integrarse con muchos servicios diferentes de Azure y de terceros. Estos servicios pueden desencadenar la función, enviar una entrada de datos a la función o recibir una salida de datos de la función.

Comparación de las tecnologías orientadas al código

En la mayoría de los casos, la administración simple y el modelo de codificación más flexible que proporciona Azure Functions pueden llevarle a elegirlo antes que WebJobs. Aun así, podría elegir WebJobs por las razones siguientes:

  • Quiere que el código se integre en una aplicación existente de App Service y que se administre como parte de la aplicación, por ejemplo, en el mismo entorno de Azure DevOps.
  • Necesita un control detallado sobre el objeto que realiza escuchas de eventos que desencadenan el código. Este objeto en cuestión es la clase JobHost y tiene más flexibilidad para modificar su comportamiento en WebJobs.
Azure WebJobs Azure Functions
Idiomas admitidos C# si estás usando el SDK de trabajos web C#, Java, JavaScript, PowerShell, etc.
Escalado automático No
Desarrollo y pruebas en un explorador No
Precio de pago por uso No
Integración con Logic Apps No
Administradores de paquetes NuGet si estás usando el SDK de trabajos web NuGet y NPM
Puede formar parte de una aplicación de App Service Sí (hospedado en el plan de App Service)
Proporciona un control detallado de JobHost No

Ahora que ya sabe qué tecnologías orientadas al diseño y al código están a su disposición, ¿cómo puede restringir las opciones? Examinaremos esta cuestión en la siguiente unidad.