Esta página se tradujo automáticamente con la API de traducción de Google Cloud.
Algunas páginas se pueden leer mejor en su totalidad.
Los equipos de desarrollo de TI a menudo son responsables de crear y mantener aplicaciones de back-end que impulsan el producto o servicio principal de la empresa. Estas aplicaciones generalmente necesitan interactuar con una variedad de otros sistemas, a veces dentro de la misma empresa y, a veces, con socios o clientes externos.
La orquestación de tareas es un término que se refiere al proceso de ejecutar automáticamente un conjunto de tareas en un orden predefinido. Esto puede ser útil en un escenario de aplicación de back-end donde hay una serie de tareas diferentes que deben ejecutarse en un orden específico y donde esas tareas deben coordinarse con otros sistemas.
Hay varias formas diferentes de implementar la orquestación de tareas en una aplicación de back-end. En este artículo, veremos algunos de los métodos más populares y ofreceremos algunos consejos prácticos sobre cuándo y cómo usarlos.
Una forma de implementar la orquestación de tareas en una aplicación de back-end es usar disparadores de bases de datos. Un activador de base de datos es una pieza de código que se ejecuta automáticamente cuando ocurre un evento específico en la base de datos.
Por ejemplo, supongamos que tiene una aplicación de back-end que necesita enviar un correo electrónico a un cliente cada vez que se realiza un nuevo pedido. Podría usar un activador de base de datos para ejecutar automáticamente el código que envía el correo electrónico cada vez que se inserta un nuevo pedido en la base de datos.
Los disparadores de base de datos pueden ser una forma conveniente de implementar la orquestación de tareas, pero también pueden ser un arma de doble filo. Por un lado, pueden automatizar la ejecución de tareas y facilitar la coordinación de esas tareas con otros sistemas. Por otro lado, pueden hacer que su código sea más difícil de entender y mantener.
Si decide utilizar activadores de base de datos para la orquestación de tareas, es importante utilizarlos con prudencia y solo cuando ofrezcan un beneficio claro sobre otros enfoques.
Otra forma popular de implementar la orquestación de tareas en una aplicación de back-end es usar colas de mensajes. Una cola de mensajes es un sistema que almacena mensajes y los entrega a los consumidores en orden de primero en entrar, primero en salir (FIFO).
Las colas de mensajes a menudo se usan junto con los trabajadores. Un trabajador es un proceso que se ejecuta en segundo plano y consume mensajes de una cola de mensajes. En nuestro ejemplo de correo electrónico de la sección anterior, el trabajador sería responsable de enviar el correo electrónico al cliente.
Las colas de mensajes son una forma flexible de implementar la orquestación de tareas porque se pueden usar para coordinar tareas entre diferentes sistemas. Por ejemplo, podría usar una cola de mensajes para coordinar la ejecución de tareas entre una aplicación de back-end y una aplicación de front-end.
Un trabajo cron es una tarea que se ejecuta automáticamente en un tiempo o intervalo específico. Los trabajos cron se usan comúnmente para realizar tareas de mantenimiento del sistema, como ejecutar un script de respaldo o enviar un informe a un administrador.
Los trabajos cron también se pueden usar para implementar la orquestación de tareas en una aplicación de back-end. Por ejemplo, podría usar un trabajo cron para enviar un correo electrónico de recordatorio a los clientes 24 horas antes de que se envíe su pedido.
Los trabajos cron son una forma simple y efectiva de implementar la orquestación de tareas, pero pueden ser un poco inflexibles. Por ejemplo, puede ser difícil coordinar la ejecución de trabajos cron con otros sistemas.
Las funciones lambda son un tipo de función que se ejecuta en respuesta a un evento. Las funciones Lambda se usan comúnmente para procesar eventos de fuentes como Amazon S3 o Amazon DynamoDB.
Las funciones de Lambda también se pueden usar para implementar la orquestación de tareas en una aplicación de back-end. Por ejemplo, podría usar una función de Lambda para procesar un flujo de eventos de una cola de mensajes y enviar los correos electrónicos correspondientes a los clientes.
Las funciones Lambda son una forma flexible de implementar la orquestación de tareas, pero pueden ser un poco difíciles de depurar y solucionar.
Hay varias formas diferentes de implementar la orquestación de tareas en una aplicación de back-end. El mejor enfoque para su aplicación dependerá de varios factores, incluida la complejidad de la tarea, la cantidad de sistemas involucrados y las habilidades de su equipo de desarrollo.
Si no está seguro de cuál es el mejor enfoque para su aplicación, le recomendamos comenzar con un enfoque simple, como activadores de base de datos o trabajos cron. Una vez que tenga una solución funcional, siempre puede refactorizar su código para utilizar un enfoque más complejo, como colas de mensajes o funciones de Lambda.