Una carga de trabajo, en el sentido más general, es la cantidad de tiempo y recursos informáticos que requiere un sistema o red para completar una tarea o generar una salida en particular. Se refiere a la demanda total del sistema de todos los usuarios y procesos en un momento dado.
Dentro de la TI, el término ha evolucionado continuamente y se ha cargado con significado, especialmente con el aumento de la computación en la nube. En términos generales, la carga de trabajo se utiliza para referirse a una tarea o proceso computacional y a los recursos informáticos, de almacenamiento, de memoria y de red que requiere la tarea.
En un contexto de computación en la nube, la carga de trabajo se refiere a cualquier servicio, aplicación o capacidad que consume recursos basados en la nube. En este contexto de nube, las máquinas virtuales, bases de datos, aplicaciones, microservicios, nodos y más se consideran cargas de trabajo.
Las cargas de trabajo pueden variar desde tareas simples, como ejecutar una sola aplicación o cálculo, hasta operaciones complejas, como procesar analytics de datos a gran escala o ejecutar una suite de aplicaciones interconectadas. La gestión de cargas de trabajo es un aspecto crítico de la optimización de recursos de TI, que afecta directamente el rendimiento del sistema, el costo, la estabilidad y, en última instancia, el éxito de las operaciones comerciales.
Con la proliferación de la computación en la nube y la virtualización, la gestión de cargas de trabajo se ha vuelto cada vez más compleja1. El uso de recursos de nube híbrida, multinube y nube pública significa que la carga de trabajo puede abarcar plataformas y ubicaciones, cada una con características y requisitos de gestión únicos.
Para navegar por las complejidades de la gestión de cargas de trabajo en entornos informáticos y flujos de trabajo, las organizaciones están recurriendo a herramientas avanzadas. Emplean herramientas como APIs de backend, software de automatización de cargas de trabajo, análisis predictivos basados en IA y plataformas de gestión en la nube (por ejemplo, Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud® y Microsoft Azure).
Las empresas también están adoptando estrategias como la colocación de la carga de trabajo, donde determinan la mejor ubicación para cada carga de trabajo basada en factores como el costo, el rendimiento, el ciclo de vida, el cumplimiento y los requisitos comerciales. Este Approach garantiza que cada carga de trabajo se ejecute en un entorno que se adapte de manera óptima a sus necesidades específicas.
Boletín de la industria
Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.
Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.
El término "carga de trabajo" se utiliza a menudo indistintamente con "aplicación". Mientras que las cargas de trabajo y las aplicaciones están interconectadas y son componentes integrales de cualquier infraestructura de TI (y las aplicaciones pueden considerarse cargas de trabajo), sirven propósitos bastante diferentes.
Las aplicaciones son programas o grupos de programas, diseñados para ayudar a los usuarios finales a realizar tareas específicas y satisfacer ciertas necesidades comerciales. Las cargas de trabajo se refieren a las demandas de procesamiento de esas tareas. En otras palabras, las cargas de trabajo alimentan las aplicaciones (o partes de ellas). Sin embargo, es importante tener en cuenta que una carga de trabajo no es necesariamente exclusiva de una sola aplicación. Muchas cargas de trabajo realizan tareas en todas las aplicaciones.
Además, los ciclos de vida de las aplicaciones tienden a modificarse cuando las necesidades cambian o cuando surgen tecnologías más avanzadas. Sin embargo, las cargas de trabajo cambian en función de factores de infraestructura, como el rendimiento del sistema, el tráfico de usuarios, la asignación de recursos y las necesidades de procesamiento.
Como se indicó, el uso de cargas de trabajo puede ser tan simple como ejecutar una sola aplicación o tan sofisticado como ejecutar un ecosistema de aplicaciones conectadas, con muchas variaciones intermedios. Por lo tanto, el despliegue exitoso de la carga de trabajo puede requerir el uso de varios tipos de cargas de trabajo.
Algunos tipos clave de cargas de trabajo incluyen:
Las cargas de trabajo transaccionales implican la interacción del usuario en tiempo real, normalmente en forma de numerosas transacciones breves en línea. El despliegue de cargas de trabajo transaccionales requiere sistemas que puedan manejar múltiples usuarios simultáneos y proporcionar respuestas rápidas y consistentes, por lo que se usan comúnmente en sitios de comercio electrónico para administrar compras, pagos, búsquedas de productos y más.
Las cargas de trabajo por lotes son trabajos no interactivos que se procesan de forma masiva, a menudo secuencialmente. Debido a que requieren una potencia de procesamiento sustancial, las cargas de trabajo por lotes son comunes en entornos que procesan grandes volúmenes de datos, por ejemplo, nómina, facturación y modelado meteorológico. Estos trabajos a menudo se ejecutan durante las horas de menor actividad para evitar interferencias con cargas de trabajo interactivas o transaccionales. Estas cargas de trabajo también tienden a requerir procesamiento paralelo, donde las tareas se dividen en subtareas más pequeñas y se ejecutan simultáneamente en varios servidores y procesadores.
Las cargas de trabajo analíticas se caracterizan por consultas complejas que se ejecutan en grandes conjuntos de datos. A diferencia de las cargas de trabajo transaccionales, que implican transacciones pequeñas y simples, estas cargas de trabajo realizan análisis de datos en profundidad, a menudo utilizando inteligencia artificial y machine learning, para identificar tendencias, relaciones e insights. Debido a su alto rendimiento de datos, las cargas de trabajo analíticas se emplean habitualmente para warehousing de datos y analytics de big data.
La mayoría de las aplicaciones empresariales dependen de bases de datos fundamentales para funcionar. Si una base de datos no funciona correctamente, creará cuellos de botella para las aplicaciones que la utilizan. Las cargas de trabajo de base de datos ayudan a solucionar estos problemas. Las cargas de trabajo de la base de datos se ajustan para acelerar y optimizar la funcionalidad de búsqueda para las demás aplicaciones que dependen de una base de datos. También permiten a los equipos analizar métricas como el uso de memoria y CPU, el rendimiento de entrada/salida (E/S) y las tasas de ejecución de consultas.
Las cargas de trabajo de HPC ejecutan simulaciones complejas y cálculos matemáticos que requieren una potencia de cálculo significativa. Por ejemplo, un equipo de investigación meteorológica podría ejecutar una simulación de patrones climáticos relacionados con El Niño. Al igual que las cargas de trabajo por lotes, las cargas de trabajo HPC tienden a tener altos niveles de paralelismo.
Cuando los equipos se encuentran en el proceso de desarrollo y prueba de software, suelen confiar en cargas de trabajo de prueba y desarrollo, que se encargan de tareas como compilar código, ejecutar pruebas unitarias y realizar pruebas de carga. Al igual que el propio proceso de desarrollo, las cargas de trabajo de prueba y desarrollo pueden ser impredecibles y pueden requerir que los desarrolladores aprovisionen y desaprovisionen rápidamente los recursos a medida que cambian las necesidades.
Estas cargas de trabajo suelen ser críticas en entornos de TI que requieren un procesamiento de datos en tiempo real y ultrarrápido para ofrecer resultados inmediatos, como las aplicaciones de negociación de acciones, los servicios de streaming de video y las plataformas de apuestas deportivas.
Los entornos de TI se han vuelto más complejos, exigiendo herramientas y recursos capaces de manejar una amplia gama de tareas, a menudo de manera simultánea. En este reto es donde las cargas de trabajo híbridas—que combinan elementos de distintos tipos de cargas de trabajo— se convierten en un verdadero activo.
Un ejemplo de carga de trabajo híbrida es una aplicación de análisis en tiempo real. La aplicación procesa los datos entrantes con cargas de trabajo transaccionales, ejecuta consultas complejas sobre los datos con cargas de trabajo analíticas y genera reportes empleando cargas de trabajo por lotes.
El surgimiento de la computación en la nube durante la última década ha impulsado el desarrollo de nuevos tipos de cargas de trabajo, incluidos software como servicio (SaaS), aplicaciones basadas en contenedores y microservicios, máquinas virtuales (VM) y computación sin servidor. Las empresas incluso están explorando casos de uso para cargas de trabajo de IA generativa.2 Independientemente del tipo, las cargas de trabajo también se pueden clasificar por su estado (es decir, con estado o sin estado) y, en el caso de las cargas de trabajo en la nube, por sus patrones de uso (es decir, estáticos o dinámicos).
Las cargas de trabajo con estado deben conservar la información y el estado de una sesión a otra, por lo que "recuerdan" los datos de las interacciones anteriores. Con una aplicación con estado, si un usuario cierra sesión y luego vuelve a iniciarla, la aplicación recuerda su información y actividad. Los sistemas de bases de datos, donde los datos permanecen incluso después de finalizar la sesión, son excelentes ejemplos de cargas de trabajo con estado.
Estas cargas de trabajo no guardan los datos del usuario para la siguiente sesión del usuario. Cada sesión se ejecuta como una nueva interacción y las respuestas son independientes de los datos del usuario anterior. Las cargas de trabajo sin estado pueden simplificar el diseño de aplicaciones, ya que los desarrolladores no necesitan administrar la información estatal, pero también pueden dificultar la personalización de la experiencia del usuario.
Las cargas de trabajo estáticas utilizan una cantidad relativamente constante de recursos informáticos durante largos períodos de tiempo y en un cronograma constante.
Las cargas de trabajo dinámicas, también llamadas cargas de trabajo temporales, ajustan y configuran los recursos informáticos en función de la demanda de computación.
A medida que crece la adopción de la computación en la nube, las prácticas de gestión de cargas de trabajo cambian en especie. Las empresas modernas suelen utilizar una combinación de centros de datos on-premises tradicionales e infraestructuras en la nube para gestionar sus cargas de trabajo de manera eficiente.
Las cargas de trabajo on-premises se ejecutan en la propia infraestructura de hardware de una organización, alojadas localmente en las instalaciones de la organización. Las cargas de trabajo basadas en la nube pública se ejecutan en servidores administrados por un proveedor de servicios en la nube (CSP) de terceros y se encuentran fuera del sitio, a menudo en varias ubicaciones en todo el mundo. Ambas infraestructuras ofrecen ventajas para administrar las cargas de trabajo empresariales.
Las cargas de trabajo en las instalaciones proporcionan:
Con las soluciones on-premises, las organizaciones tienen un control completo sobre sus cargas de trabajo. Esta flexibilidad incluye la capacidad de elegir y personalizar todo el hardware y el software, lo que es particularmente beneficioso para las organizaciones con necesidades de TI que no se satisfacen fácilmente con las ofertas de nube estándar.
Las soluciones locales pueden ofrecer mayor seguridad y control de cumplimiento, especialmente para organizaciones de industrias o regiones con estrictos requisitos de soberanía de datos y procesos de auditoría. Debido a que los datos se almacenan localmente, en lugar de en un entorno de nube compartido, es más fácil aplicar protocolos de seguridad estrictos y controlar el acceso a los datos de cada miembro del equipo.
Además, algunas regulaciones requieren que los datos se almacenen dentro de ciertos límites geográficos, y las empresas pueden garantizar más fácilmente el cumplimiento del almacenamiento con las cargas de trabajo locales.
Mientras que los costos iniciales de la infraestructura on-premises pueden ser bastante altos, los costos continuos de mantener las cargas de trabajo en el sitio son relativamente estables y más fáciles de planificar. Si una organización tiene el capital para invertir y espera que sus necesidades se mantengan constantes a largo plazo, las cargas de trabajo on-premises pueden ser una opción financieramente sólida.
A veces, las cargas de trabajo on-premises funcionan mejor que las cargas de trabajo basadas en la nube. Al tener infraestructura on-premises, los datos no necesitan salir de la red local, lo que se traduce en tiempos de procesamiento más rápidos y reduce los problemas de latencia que pueden causar cuellos de botella en el rendimiento.
Las cargas de trabajo en el sitio son accesibles incluso cuando la conectividad a Internet es inestable o está temporalmente ausente. La disponibilidad de aplicaciones sin conexión puede ser una ventaja significativa para las empresas en regiones con una infraestructura de Internet deficiente o para entornos que requieren acceso a las aplicaciones durante las 24 horas del día, los 7 días de la semana.
Las cargas de trabajo de la nube pública, por otro lado, proporcionan:
Las cargas de trabajo en la nube suelen seguir un modelo de gasto operativo, en el que los usuarios pagan solo por los recursos que utilizan, a medida que los utilizan. Este modelo puede convertir a la computación en la nube en un punto de entrada más rentable para la gestión de cargas de trabajo, especialmente para pequeñas empresas y startups.
Los proveedores de la nube disponen de enormes recursos que pueden asignarse y desasignarse a demanda, lo que permite a las organizaciones escalar fácilmente las cargas de trabajo en respuesta a los cambios en la demanda de recursos.
Aunque la organización sigue siendo responsable de administrar y proteger sus propias aplicaciones y datos, las cargas de trabajo basadas en la nube ponen en manos del proveedor muchas tareas de mantenimiento (por ejemplo, reparaciones de hardware, actualizaciones de software, parches de seguridad, etc.).
Los servicios en nube suelen incluir capacidades de recuperación ante desastres, así como redundancias de infraestructura, para mantener la disponibilidad de la carga de trabajo incluso cuando fallen los servidores o los centros de datos.
Las cargas de trabajo en la nube se pueden ejecutar y ajustar rápidamente, lo que permite una innovación más rápida y brinda a las empresas basadas en la nube una ventaja competitiva. Con las plataformas en la nube, las organizaciones pueden implementar nuevas aplicaciones y servicios en cuestión de minutos, mientras que hacerlo en las instalaciones puede tardar semanas o meses.
Muchas empresas optan por utilizar nubes privadas (también conocidas como nubes corporativas), que brindan una combinación de ciertos beneficios que ofrecen las arquitecturas de nube pública y on-premises.
Una empresa puede elegir cargas de trabajo on-premises o basadas en la nube pública o una combinación de ambas. El uso y la gestión eficaces de estas cargas de trabajo pueden mejorar la toma de decisiones de la organización, así como la eficiencia general, el rendimiento y la rentabilidad de las infraestructuras de TI empresariales.
IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de nubes privadas en IBM zSystems e IBM LinuxONE.
Descubra los servidores, el almacenamiento y el software diseñados para la nube híbrida y su estrategia de IA.
Encuentre una solución de infraestructura en la nube que sea adecuada para las necesidades de su negocio y escale los recursos bajo demanda.