Optimización del diseño de cargas de trabajo mediante flujos

En este artículo se trata la optimización dirigida de las cargas de trabajo mediante flujos. Los distintos componentes de una carga de trabajo tienen distintos requisitos y niveles de importancia. Al segmentar una carga de trabajo en flujos, puede priorizar diferentes partes de una carga de trabajo y alinear mejor las inversiones de carga de trabajo con la importancia de cada flujo.

Este proceso de optimización de cargas de trabajo es iterativo e implica tres pasos clave: (1) definir la estructura de flujo dentro de la carga de trabajo, (2) definir los requisitos técnicos y (3) diseñar el flujo para cumplir los requisitos (consulte la figura 1).

Diagrama que muestra un proceso de tres pasos con cinco acciones. El primer paso es definir el flujo. Para definir el flujo, debe comprender los requisitos previos y documentar el flujo. El segundo paso es definir los requisitos de flujo. Para definir los requisitos de flujo, debe establecer objetivos técnicos. El tercer paso es diseñar el flujo. Para diseñar el flujo, debe seguir los procedimientos recomendados de diseño de flujo y desarrollar y probar el flujo. Hay una flecha de la acción de compilación y prueba a la primera acción (comprender los requisitos previos) que indica las iteraciones de este proceso.Figura 1: Proceso para optimizar las cargas de trabajo mediante flujos.

Definición del flujo

Para poder definir los requisitos de flujo, debe comprender los impulsores de negocio para el flujo. Los requisitos previos para definir un flujo identifican el proceso de negocio y los casos de uso que admite. Cuando comprenda los requisitos previos, puede empezar a documentar el flujo.

Descripción de los requisitos previos

Los flujos son secuencias de acciones que admiten la funcionalidad de la carga de trabajo. Hay dos tipos principales de flujos: flujos de usuario y flujos del sistema. Los flujos de usuario determinan las interacciones del usuario. Los flujos del sistema determinan la comunicación entre los componentes de la carga de trabajo. Los flujos admiten procesos empresariales y casos de uso. Una carga de trabajo consta de varios casos de uso. Debe identificar el proceso de negocio y el caso de uso que admite el flujo antes de documentar un flujo (consulte la figura 2).

Diagrama que muestra dos cuadros, apilados entre sí. El cuadro superior representa un proceso de negocio con segmentos marcados como Fase 1, Fase 2 y Fase n, que indica una secuencia de fases en el proceso de negocio. Desde cada fase, tres flechas verticales apuntan hacia abajo hasta una fila de tres cuadrados que representan diferentes casos de uso. Cada cuadrado se etiqueta con Caso de uso, Caso de uso 2 y Caso de uso n respectivamente. Cada cuadrado contiene un diagrama de flujo único con flujos etiquetados Flow 1, Flow 2 y Flow n. Los casos de uso forman parte de una sola carga de trabajo. Cada fase del proceso de negocio está vinculada a un caso de uso de carga de trabajo específico y cada caso de uso tiene su propio flujo.Figura 2: Relación entre procesos empresariales, casos de uso, flujos y carga de trabajo.

Identificación del proceso de negocio

Un proceso de negocio es una serie de acciones (fases) que cumplen un requisito empresarial. Los flujos determinan la secuencia que un usuario o los datos tardan en realizar cada fase de un proceso de negocio. Por ejemplo, vender productos en línea es un proceso empresarial. Las fases de este proceso de negocio pueden estar enumerando el producto en línea, la recepción de pedidos y la entrega del producto.

Identificación del caso de uso

Un caso de uso define los requisitos funcionales de un flujo. Debe identificar y comprender el caso de uso que admite un flujo antes de establecer los requisitos técnicos de un flujo. Cada caso de uso debe admitir una fase en un proceso de negocio (consulte la figura 2). Un caso de uso debe definir los siguientes atributos:

  • Propósito: articula claramente las tareas o objetivos, como habilitar compras en línea. Esta claridad guía el diseño funcional y establece objetivos claros para el diseño de flujo.

  • Importancia: evalúe la importancia del caso de uso, que va desde la rutina hasta la crítica. El valor asignado a un caso de uso informa de la priorización y el diseño del flujo. Los casos de uso de alto valor pueden requerir un control mejorado de errores, optimización del rendimiento o consideraciones sobre la experiencia del usuario.

  • Consumidores: identifique si los usuarios (clientes, personal) o componentes del sistema son los consumidores principales. Esta categorización determina si es un flujo de usuario o un flujo del sistema e influye en el diseño.

  • Eventos: defina desencadenadores o condiciones que inicien y finalicen el caso de uso. Estos eventos definen los límites del flujo.

  • Ejecución: comprenda la frecuencia operativa y la variabilidad del caso de uso para prever la carga del sistema. Debe diseñar un flujo para controlar diferentes escenarios de ejecución.

  • Dependencias: identifique las interdependencias con otros casos de uso para la administración de riesgos. Reconocer las dependencias de un caso de uso ayuda a diseñar flujos que se integran sin problemas con otras partes del sistema. Debe garantizar la disponibilidad de las entradas necesarias y la compatibilidad de las salidas con procesos posteriores.

Documentar el flujo

Use el caso de uso para documentar el flujo. Debe describir o asignar cada acción que necesite en un flujo. Capturar criterios y caminos de decisión. Identificar interacciones con otros casos de uso. Este esquema sirve como plano técnico para el diseño y la administración de flujos. También debe capturar información empresarial sobre el flujo. Asegúrese de incluir los siguientes detalles en la documentación del flujo:

  • Descripción del flujo: descripción de alto nivel del flujo.

  • Proceso de negocio: el proceso de negocio que admite el flujo.

  • Propietario del proceso: el individuo que posee el proceso de negocio.

  • Partes interesadas: las personas que debe informar o consultar sobre el estado o los cambios del flujo.

  • Rutas de escalación: los individuos o grupos con los que debe ponerse en contacto para resolver problemas. Es una secuencia de personas. El ámbito de la responsabilidad individual crece con cada persona en el camino.

  • Impacto empresarial: la importancia de este flujo a la empresa.

  • Clasificación de importancia: etiqueta cualitativa que indica la importancia relativa del flujo.

Para obtener más información, consulte Ejemplos de flujo.

Definición de los requisitos de flujo

Utilice el caso de uso para establecer los objetivos técnicos del flujo. Defina los objetivos medibles para el flujo que se alinean con los cinco pilares del marco de Well-Architected (WAF). Estos pilares proporcionan un marco para establecer objetivos técnicos:

  • Objetivos de confiabilidad: evalúe la importancia de cada flujo y establezca los objetivos de confiabilidad en consecuencia. Determine los umbrales de rendimiento y establezca acuerdos claros de nivel de servicio (SLA) y objetivos (SLO). Los flujos de importancia crítica más altos requieren objetivos de confiabilidad más estrictos.

  • Destinos de seguridad: analice las necesidades de seguridad de cada flujo en función de la confidencialidad de los datos y las actividades del usuario. Implemente y actualice continuamente las medidas de seguridad para satisfacer estas necesidades, a la vez que garantiza el cumplimiento de los estándares normativos.

  • Objetivos de costo: comprenda las demandas de cada flujo para la asignación eficaz de recursos. Establezca los objetivos para equilibrar el costo con el rendimiento. Asegúrese de que el uso de recursos se alinea con las prioridades empresariales.

  • Destinos operativos: defina métricas para una supervisión y solución de problemas eficaces. Los destinos deben garantizar un uso eficaz de los recursos y la alineación con los objetivos de la organización.

  • Objetivos de rendimiento: base los objetivos de rendimiento en los requisitos iniciales de cada flujo. Asegúrese de que los flujos esenciales reciban recursos adecuados y ajusten continuamente los objetivos para satisfacer las demandas en constante evolución y mejorar las experiencias del usuario.

Diseño del flujo

Diseñe el flujo para cumplir los objetivos técnicos. Debe familiarizarse con los procedimientos recomendados de diseño de flujo para lograr el resultado correcto. Compile y pruebe el flujo. Recorre en iteración el diseño hasta que cumpla los objetivos técnicos establecidos.

Seguir los procedimientos recomendados de diseño de flujo

A medida que diseña un flujo, siga los procedimientos recomendados de diseño de flujo. Un flujo bien diseñado tiene los siguientes atributos:

  • Con ámbito: identifique puntos iniciales y finales distintos para cada flujo. Los límites claros ayudan a optimizar las interacciones del usuario o del sistema.

  • Lógica: Diseñe los flujos con un orden lógico de pasos. Optimice la ruta de acceso más eficaz y reduzca los pasos innecesarios.

  • Mantenimiento: diseñe flujos que sean fáciles de actualizar y mantener. Use componentes modulares que puede modificar sin afectar a toda la carga de trabajo.

  • Definido: incorpore condiciones específicas que desencadenen o guíen cada paso de un flujo. Esta precisión garantiza que el flujo responda con precisión a las entradas del usuario, los cambios de datos o los estados del sistema.

  • Confiable: compile rutas de acceso de excepciones y control de errores en los flujos. La administración eficaz de errores evita la interrupción y mantiene la integridad del flujo en circunstancias inesperadas.

  • Escalable: asegúrese de que puede controlar cargas variables y adaptarse a volúmenes de datos o bases de usuarios crecientes o reducidas.

  • Seguro: inserte medidas de seguridad dentro del flujo. Proteja los datos y las interacciones del usuario contra el acceso no autorizado y las amenazas.

  • Eficaz: planee el uso eficaz de los recursos sin aprovisionamiento excesivo. Tenga en cuenta la optimización de costos.

  • Centrado en el usuario: para los flujos de usuario, alinee el diseño de flujo con las expectativas y los comportamientos del usuario. Haga que sea intuitivo y reduzca la curva de aprendizaje para los nuevos usuarios.

Desarrollo y prueba del flujo

Desarrolle el flujo para cumplir los objetivos técnicos y pruebelo para asegurarse de que cumple sus requisitos. Este proceso valida que el flujo funciona según lo previsto, controla eficazmente sus tareas y cumple los objetivos técnicos. Estas son las instrucciones para compilar y probar un flujo:

  • Seleccionar tecnologías: elija tecnologías que se alineen con los objetivos establecidos en términos de confiabilidad, seguridad y rendimiento.

  • Desarrollar flujo: cree el flujo según el diseño, teniendo en cuenta los destinos establecidos.

  • Flujo de prueba: realice pruebas para asegurarse de que el flujo cumple los objetivos. Iteración según sea necesario para cumplir los objetivos.

  • Supervisión: implemente herramientas de supervisión para realizar un seguimiento del uso y los costos de los recursos.

Revise periódicamente el flujo con respecto a los objetivos establecidos y los estándares del sector. Use comentarios de supervisión y auditorías para mejorar el flujo. Ajuste los objetivos y los procesos según sea necesario para alinearse con las cambiantes necesidades empresariales o los avances tecnológicos.

Optimización de flujos

Repita el proceso definido en este artículo a lo largo del ciclo de vida del flujo. A medida que recorre en iteración el diseño de flujo, use Well-Architected Framework para optimizar los flujos desde la perspectiva de cada pilar:

Ejemplos de flujo

Estos son algunos ejemplos de flujo que le ayudarán a diseñar los flujos. En los ejemplos se usa la arquitectura de referencia de patrones de aplicación web confiable como base y se muestra la documentación que debe tener en cada flujo.

Diagrama que muestra un flujo de ejemplo basado en Relecloud.

Flujo de usuario 1: Crear próximos conciertos

Descripción del flujo: los empleados del centro de llamadas usan la aplicación para crear un próximo concierto.

  • Procesos empresariales: este flujo admite el proceso de compra de vales , pero es asincrónico y reduce su importancia.

  • Propietario del proceso: Director de ventas.

  • Partes interesadas: departamento de ventas, planificación y operaciones de conciertos, equipo de plataforma y equipo de aplicaciones.

  • Rutas de escalación: equipo de aplicaciones, equipo de plataforma y departamento de ventas.

  • Impacto empresarial: este flujo es importante para hacer que los nuevos conciertos estén disponibles en las plataformas de ventas, lo que influye directamente en el flujo de ingresos principal del negocio. Cuando los empleados del centro de llamadas no pueden crear conciertos debido a la falta de disponibilidad de este flujo, afecta negativamente tanto a los ingresos como a la reputación de la empresa. Sin embargo, la alta disponibilidad no es esencial para este proceso, ya que los conciertos normalmente se programan con antelación cada semana. El departamento de ventas especificó un requisito de disponibilidad del 95 % para este proceso y está de acuerdo con el tiempo de inactividad fuera del horario comercial con fines de mantenimiento.

  • Clasificación de importancia: Baja.

Flujo de usuario 2: Búsqueda de conciertos

Descripción del flujo: los empleados del centro de llamadas usan la aplicación para buscar próximos conciertos.

  • Procesos empresariales: este flujo admite el proceso de compra de vales , pero los empleados del centro de llamadas pueden optar por enumerar todos los conciertos si la función de búsqueda no está disponible.

  • Propietario del proceso: departamento de experiencia del usuario (UX).

  • Partes interesadas: departamento de ventas, equipo de plataforma y equipo de aplicaciones.

  • Ruta de escalación: equipo de aplicaciones, equipo de plataforma, jefe de departamento de ventas a la llamada.

  • Impacto empresarial: este flujo permite a los empleados del centro de llamadas encontrar rápidamente conciertos y forma parte del proceso de ventas normal. La alta disponibilidad de este flujo no es fundamental, ya que los empleados tienen la capacidad de enumerar conciertos incluso en su ausencia. Esto degrada la experiencia de los empleados del centro de llamadas podría degradarse y afectar a la productividad. Los clientes pueden experimentar frustración debido a un aumento de los tiempos de espera o retrasos. El departamento de ventas solicitó una disponibilidad del 99 % de este flujo durante el horario comercial habitual.

  • Clasificación de importancia: Media.

Flujo de usuario 3: Obtener una lista de los conciertos

Descripción del flujo: los empleados del centro de llamadas usan la aplicación para obtener una lista de conciertos.

  • Procesos empresariales: este flujo admite directamente el proceso de compra de vales .

  • Propietario del proceso: Director de plataforma.

  • Partes interesadas: departamento de ventas, equipo de plataforma, equipo de datos.

  • Ruta de escalación: equipo de datos, ingeniero de llamadas de equipo de datos, ingeniero de plataforma en llamada.

  • Impacto empresarial: este flujo es integral a la ruta crítica de las transacciones que generan ingresos para la empresa. La alta disponibilidad es esencial, ya que los empleados del centro de llamadas dependen de este flujo para procesar las compras de entradas. En reconocimiento de su importancia, la empresa exige un tiempo de actividad del 99,9 % para este flujo, que incluye horas laborables extendidas.

  • Clasificación de importancia: Alta.

Flujo de usuario 4: Compra de vale

Descripción del flujo: los empleados del centro de llamadas usan la aplicación (el proceso de autenticación y autorización ) para comprar entradas para un próximo concierto (el próximo proceso de conciertos de la lista ) en nombre de los clientes de Relecloud.

  • Procesos empresariales: este flujo es la característica principal y el flujo de la aplicación.

  • Propietario del proceso: Director de ventas.

  • Partes interesadas: departamento de ventas y todos los equipos técnicos.

  • Ruta de escalación: ingeniero a la llamada del equipo de aplicaciones, ingeniero de plataforma en llamada, ingeniero de datos de equipo de llamadas, director de operaciones.

  • Impacto empresarial: la alta disponibilidad de este flujo es fundamental, ya que permite directamente las compras de entradas de cliente. Cualquier mal funcionamiento o falta de disponibilidad de este flujo puede afectar significativamente tanto a los ingresos como a la reputación de la empresa. El negocio establece un requisito estricto para este proceso vital, esperando un tiempo de actividad del 99,9 %, incluso durante las horas laborables extendidas.

  • Clasificación de importancia: Alta.

Flujo de usuario 5: autenticación y autorización

Descripción del flujo: los empleados del centro de llamadas inician sesión de forma segura en la aplicación. Los administradores les proporcionan los roles adecuados para comprar vales en nombre de los clientes de Relecloud.

  • Procesos empresariales: este flujo admite directamente el proceso de compra de vales . Sin esta funcionalidad, los empleados del centro de llamadas no pueden iniciar sesión en la aplicación para comprar entradas.

  • Propietario del proceso: equipo de plataforma.

  • Partes interesadas: equipo de plataforma, equipo de operaciones y departamento de ventas.

  • Ruta de escalación: ingeniero de plataforma en la llamada, director de operaciones.

  • Impacto empresarial: este flujo requiere alta disponibilidad porque los empleados del centro de llamadas no pueden comprar vales si este flujo no funciona correctamente. Si este flujo no está disponible, afecta directamente a los ingresos y la reputación. Es un proceso clave para el que la empresa espera un tiempo de actividad del 99,9 %, incluido el horario comercial extendido.

  • Clasificación de importancia: Alta.

Flujo del sistema: recopilación de telemetría

Descripción del flujo: para comprender los cambios de estado en el sistema de producción, las instancias de api y aplicaciones web recopilan y envían información, errores y advertencias. Estos datos ayudan al equipo de operaciones a realizar la detección de anomalías, la solución de problemas y la generación de perfiles.

  • Procesos empresariales: este flujo no admite ningún proceso de negocio, pero proporciona datos importantes para el equipo de operaciones.

  • Propietario del proceso: Director de operaciones.

  • Partes interesadas: equipo de operaciones, equipo de plataforma y equipo de datos.

  • Ruta de escalación: equipo de operaciones (24/7), ingeniero de datos en la llamada.

  • Impacto empresarial: este flujo es esencial para los esfuerzos de supervisión y mejora continua de la empresa. Debe ser lo más redundante y resistente posible. El equipo de operaciones es responsable de restaurar rápidamente este flujo después de cualquier error para evitar la falta de información crítica y advertencias. Si el flujo no logra lograr la disponibilidad esperada, existe el riesgo de pasar por alto los problemas de producción, lo que podría provocar graves consecuencias. Para mitigar este riesgo, el departamento de operaciones tiene como objetivo un tiempo de actividad del 99 %, 24/7. Deben programar el tiempo de inactividad relacionado con el mantenimiento con al menos 48 horas de antelación.

  • Clasificación de importancia: Media.