La ingeniería del rendimiento consiste en optimizar los sistemas de TI para cumplir con los puntos de referencia de velocidad y eficiencia.
La ingeniería del rendimiento no es una sola acción, sino una metodología DevOps y shift left que permite a las empresas realizar un seguimiento y optimizar el rendimiento en cada paso del ciclo de vida del desarrollo de software (SDLC). Su objetivo es garantizar que los sistemas cumplan con los indicadores de rendimiento en aspectos como la velocidad, la confiabilidad, la eficiencia y el tiempo de respuesta.
Los equipos de ingeniería del rendimiento establecen primero el rendimiento base del sistema mediante pruebas de estrés. Luego, utilizan esa referencia para identificar problemas en la red y oportunidades de mejora. Cuando se establecen los puntos de referencia, los ingenieros pueden comenzar a reconfigurar la red, implementar arreglos y monitorear continuamente la red en busca de problemas de rendimiento y planificación de capacidad futura.
La observabilidad es la base de la ingeniería del rendimiento. Las herramientas de observabilidad recopilan los datos sin procesar (registros, métricas y rastreos) que describen el rendimiento del sistema, y los equipos de ingeniería de rendimiento utilizan estos mismos datos para realizar un seguimiento de los efectos de sus arreglos. Los ingenieros de rendimiento también utilizan diversas otras herramientas para la gestión y el monitoreo del rendimiento de las aplicaciones, pruebas de estrés, auditoría de navegadores y puntos de referencia para obtener las imágenes más nítidas posibles de sus sistemas.
La ingeniería del rendimiento es la disciplina más amplia e integral de optimizar los sistemas de TI para cumplir con los puntos de referencia predeterminados. La gestión del rendimiento de las aplicaciones (APM) y las pruebas de rendimiento son dos de las actividades involucradas en ese proceso general.
La gestión del rendimiento de las aplicaciones es una práctica que utiliza herramientas de software, análisis de datos y procesos de gestión de aplicaciones para ayudar a las organizaciones a optimizar el rendimiento, la disponibilidad y la experiencia del usuario de las aplicaciones empresariales. Mientras que la ingeniería de rendimiento abarca todo el proceso de desarrollo, la APM se centra en detectar y solucionar problemas en aplicaciones en vivo.
Del mismo modo, las pruebas de rendimiento consisten en evaluar el rendimiento de una red o una aplicación en diversas condiciones mediante pruebas de carga, pruebas de estrés, pruebas de resistencia y pruebas de otro tipo. Al igual que la APM, las pruebas de rendimiento son solo una actividad dentro de la práctica más amplia de la ingeniería de rendimiento.
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.
La ingeniería del rendimiento se logra a través de una secuencia flexible, pero completa que incluye establecer puntos de referencia, pruebas y priorización, optimización, planificación y monitoreo del rendimiento.
En primer lugar, la organización determina el nivel de rendimiento necesario para que sus sistemas y aplicaciones cumplan con los objetivos empresariales. Luego, los ingenieros de rendimiento prueban el rendimiento actual para establecer puntos de referencia y determinar cómo cumplirlos.
Las métricas de puntos de referencia comunes incluyen latencia, rendimiento, utilización de recursos y tasa de error. Los equipos de desarrollo pueden medir estas métricas a nivel micro (dentro de un servidor o servicio en particular) o a mayor escala en toda una aplicación o red.
Los puntos de referencia suelen incluir preguntas específicas sobre los requisitos de rendimiento y el entorno de desarrollo. Por ejemplo, en lugar de intentar establecer un umbral general para la utilización de la CPU, los ingenieros podrían preguntar si se utiliza menos del 60 % de la CPU cuando 5000 usuarios utilizan simultáneamente una aplicación.
Mediante herramientas de pruebas de rendimiento, los ingenieros de rendimiento validan los datos de las pruebas con los puntos de referencia establecidos para identificar dónde y qué cambios deben realizarse a fin de cumplir con los niveles de servicio requeridos.
Las formas más comunes de pruebas de rendimiento incluyen:
Las pruebas de carga indican cómo funciona el sistema cuando opera con cargas esperadas. El objetivo de las pruebas de carga es mostrar el comportamiento del sistema cuando se encuentran cargas de trabajo de tamaño rutinario en condiciones de trabajo normales con un número promedio de usuarios simultáneos.
Las pruebas de escalabilidad ponen al sistema bajo presión al aumentar el volumen de datos o las cargas de usuarios que se gestionan. Demuestra si un sistema puede mantener un ritmo mayor y seguir ofreciendo resultados.
Las pruebas de estrés llevan el sistema hasta sus límites operativos comprendidos, y luego aún más allá, para determinar exactamente cuánto puede soportar el sistema antes de llegar a su punto de quiebre.
Las pruebas de picos observan lo que sucede cuando el tráfico de usuarios o el volumen de datos experimentan repentinamente un aumento brusco y drástico en la actividad. El sistema debe absorber varios cambios mientras continúa con las operaciones habituales.
Las pruebas de volumen examinan cómo un sistema maneja grandes cantidades de datos, específicamente si puede procesar completamente esos datos y almacenarlos sin degradación.
Las pruebas de resistencia, o pruebas de remojo, son cuando los ingenieros observan un sistema a lo largo del tiempo para detectar problemas, como la degradación gradual de los datos o las fugas de memoria.
Después de identificar los límites y deficiencias del sistema, comienza el proceso de optimización.
Dependiendo de la naturaleza del cuello de botella de rendimiento en cuestión, los ingenieros de rendimiento pueden usar estrategias de optimización como:
Una vez optimizado el sistema, los ingenieros de rendimiento supervisan constantemente cualquier desviación respecto a la nueva línea de base y planifican el crecimiento y la actividad futuros.
La observabilidad permite a los ingenieros de rendimiento determinar si su sistema está funcionando según lo previsto. Al recopilar y analizar registros, métricas y rastreos, las herramientas de observabilidad permiten a los equipos de TI automatizar la identificación y resolución de problemas en tiempo real. Cuanto más observable sea un sistema, más rápido y preciso será para los equipos de TI pasar de un problema de rendimiento identificado a su causa principal, sin pruebas ni programación adicionales.
La planificación de la capacidad permite a los ingenieros de rendimiento adelantarse a las necesidades del negocio al prever los requisitos futuros de la infraestructura de TI. La planificación de la capacidad implica analizar la demanda actual y la capacidad disponible, comparándola con las capacidades y recursos de la organización. Luego, las organizaciones desarrollan una estrategia ajustable que les permite escalar de manera eficiente los recursos y la producción.
Entre los beneficios de la ingeniería del rendimiento se incluyen una mejor experiencia del usuario, una infraestructura de TI más escalable, una resolución de problemas más eficiente y una mejor planificación de la capacidad.
La ingeniería del rendimiento mejora la experiencia del usuario al solucionar problemas de rendimiento, como la latencia elevada, que puede alejar a los usuarios de un servicio. Al optimizar el proceso de ingeniería de software y sus resultados, la ingeniería del rendimiento puede ayudar a generar confianza entre los usuarios y fomentar su lealtad.
La ingeniería del rendimiento ofrece una visión clara de los problemas que presenta un sistema. Esta imagen facilita evitar cuellos de botella al expandir ese sistema (ya sea horizontalmente, agregando nuevos servicios, o verticalmente, usando más capacidad de red).
La ingeniería del rendimiento contribuye a garantizar que los ingenieros cuenten con las herramientas y los conocimientos necesarios para crear sistemas que cumplan con los puntos de referencia establecidos. Los ingenieros pueden resolver problemas de rendimiento más rápidamente, reduciendo el tiempo medio de reparación (MTTR) y a menor costo, porque los problemas se detectan antes de que tengan la oportunidad de interrumpir significativamente el rendimiento de la red.
La ingeniería del rendimiento puede contribuir a mejorar la eficacia de la planificación de la capacidad al ayudar a los ingenieros a comprender mejor el comportamiento de los sistemas. A través del proceso de puntos de referencia y prácticas continuas de observabilidad, los ingenieros adquieren un mayor insight de lo que necesitan sus redes. Esta insight ayuda a los ingenieros a tomar mejores decisiones sobre la capacidad, reduciendo el riesgo de gastar tanto de más como de menos en la capacidad del servidor.
Los desafíos de la ingeniería del rendimiento incluyen la complejidad de los sistemas modernos, la identificación de las causas principales de los problemas, la contabilización de los problemas de “cola larga” y la creación de los conjuntos de herramientas y la experiencia necesarios.
Los entornos de TI modernos están dominados por microservicios, cuyo número puede ascender a miles, y que a menudo se alojan en complejos entornos de nube híbrida. Recopilar, analizar y actuar en función de los insights obtenidos de estos sistemas distribuidos puede ser un proceso que requiere muchos recursos y cuyos flujos de trabajo a veces son impredecibles.
La complejidad también dificulta la identificación de las verdaderas causas principales de los problemas de red. Si una API responde lentamente, puede ser el resultado de una base de datos mal indexada, una fuga de memoria o un problema de configuración. Los ingenieros de rendimiento pueden necesitar realizar un análisis de causa principal para identificar la oportunidad real de optimización.
Los problemas de cola larga son malas condiciones de red experimentadas por una pequeña minoría de usuarios. A menudo son causados por problemas idiosincrásicos y difíciles de detectar que evaden las prácticas normales de observabilidad. En el contexto de la ingeniería del rendimiento, estos problemas plantean un desafío porque amenazan las condiciones generales de la red, pero sus causas principales son difíciles de descubrir a través de pruebas de rendimiento normales.
La ingeniería del rendimiento requiere personal especializado y plataformas con capacidades avanzadas. Las pruebas de rendimiento requieren simulaciones costosas y a gran escala de las condiciones de la red. Los equipos deben comprender los sistemas lo suficientemente bien como para convertir una gran cantidad de datos de telemetría en insights aplicables en la práctica. La naturaleza flexible e iterativa de la ingeniería del rendimiento exige una estructura institucional capaz de adaptarse a los cambios rápidos.
IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack diseñada para gestionar la infraestructura de nube privada que se ejecuta en IBM zSystems e IBM LinuxONE.
Ofrezca una infraestructura segura y preparada para IA en entornos de nube híbrida
Acelere, proteja y optimice su infraestructura empresarial y de nube híbrida con la orientación de expertos de IBM Technology Expert Labs.