Desventajas de la eficiencia del rendimiento

Una carga de trabajo que cumple sus objetivos de rendimiento sin sobreaprovisionamiento es eficaz. El objetivo de la eficiencia del rendimiento es tener suficiente oferta para controlar la demanda en todo momento. Las estrategias clave para la eficiencia del rendimiento incluyen el uso adecuado de optimizaciones de código, patrones de diseño, planeamiento de capacidad y escalado. Los objetivos de rendimiento claros y las pruebas respaldan este pilar.

Durante el proceso de negociación de los objetivos de rendimiento de una carga de trabajo y el diseño de una carga de trabajo para la eficiencia del rendimiento, es importante tener en cuenta cómo los principios de diseño de eficiencia del rendimiento y las recomendaciones de la lista de comprobación de revisión de diseño para la eficiencia del rendimiento podrían afectar a los objetivos de optimización de otros pilares. Algunas decisiones de eficiencia del rendimiento pueden beneficiarse de algunos pilares, pero constituyen inconvenientes para otros. En este artículo se enumeran los inconvenientes de ejemplo que un equipo de carga de trabajo podría encontrar al diseñar la arquitectura de la carga de trabajo y las operaciones para mejorar el rendimiento.

Rentabilidad de la eficiencia del rendimiento con confiabilidad

Equilibrio: replicación reducida y mayor densidad. Una piedra angular de la confiabilidad garantiza la resistencia mediante la replicación y limitando el radio de explosión de errores de funcionamiento.

  • Una carga de trabajo que logra eficacia al retrasar el escalado hasta el último momento responsable satisface estrechamente la demanda, pero es vulnerable a errores imprevistos de nodo y retrasos de escalado.

  • La consolidación de recursos de carga de trabajo puede usar exceso de capacidad y mejorar la eficiencia. Sin embargo, aumenta el radio de explosión de un mal funcionamiento en el componente o la plataforma de aplicación ubicados conjuntamente.

  • El escalado o reducción vertical para minimizar la capacidad sobrante puede dejar una carga de trabajo infraaprovisionada durante los picos de uso, lo que provoca interrupciones del servicio debido a un suministro insuficiente.

Equilibrio: mayor complejidad. La confiabilidad prioriza la simplicidad.

  • El uso del escalado automático para equilibrar la oferta de carga de trabajo frente a la demanda introduce variabilidad en la topología de la carga de trabajo y agrega un componente que debe funcionar correctamente para que el sistema sea confiable. El escalado automático conduce a desencadenar más eventos de ciclo de vida de la aplicación, como iniciar y detener.

  • La creación de particiones de datos y el particionamiento ayudan a evitar problemas de rendimiento en conjuntos de datos de gran tamaño o a los que se accede con frecuencia. Sin embargo, la implementación de estos patrones aumenta la complejidad porque (eventual) es necesario mantener la coherencia entre recursos adicionales.

  • La desnormalización de los datos para patrones de acceso optimizados puede mejorar el rendimiento, pero presenta complejidad porque es necesario mantener sincronizadas varias representaciones de datos.

  • Los patrones de diseño en la nube centrados en el rendimiento a veces requieren la introducción de componentes adicionales. El uso de estos componentes aumenta el área expuesta de la carga de trabajo. A continuación, los componentes deben ser confiables para mantener toda la carga de trabajo confiable. Algunos ejemplos son:

    • Un bus de mensajes para la ordenación de carga, que presenta un componente crítico con estado.
    • Un equilibrador de carga para réplicas de escalado automático, que requiere una operación confiable y la inscripción de réplicas.
    • Descarga de datos en caché, lo que requiere enfoques de invalidación de caché confiables.

Equilibrio: pruebas y observación en entornos activos. Evitar el uso innecesario de los sistemas de producción es un enfoque de auto-conservación para la confiabilidad.

  • Las pruebas de rendimiento en entornos activos, como el uso de transacciones sintéticas, conllevan el riesgo de causar errores de funcionamiento debido a las acciones o configuraciones de prueba.

  • Las cargas de trabajo se deben instrumentar con un sistema de supervisión del rendimiento de aplicaciones (APM) que permita a los equipos aprender de entornos activos. Las herramientas de APM se instalan y configuran en el código de aplicación o en el entorno de hospedaje. El uso incorrecto, la superación de las limitaciones o la configuración incorrecta de la herramienta pueden poner en peligro su funcionalidad y mantenimiento, lo que podría afectar a la confiabilidad.

Desventajas de la eficiencia del rendimiento con seguridad

Compensación: reducción de los controles de seguridad. Los controles de seguridad se establecen en varias capas, a veces redundantes, para proporcionar defensa en profundidad.

Una estrategia de optimización de rendimiento es quitar o omitir componentes o procesos que contribuyen a retrasos en un flujo, especialmente cuando su tiempo de procesamiento no está justificado. Sin embargo, esta estrategia puede poner en peligro la seguridad y debe ir acompañada de un análisis exhaustivo de riesgos. Considere los siguientes ejemplos:

  • La eliminación del cifrado en tránsito o en reposo para mejorar las velocidades de transferencia expone los datos a posibles infracciones de integridad o confidencialidad.

  • Quitar o reducir las herramientas de examen o inspección de seguridad para reducir los tiempos de procesamiento puede poner en peligro la confidencialidad, la integridad o la disponibilidad que protegen esas herramientas.

  • Reducir la frecuencia de aplicación de revisiones de seguridad para limitar el impacto en el rendimiento puede dejar una carga de trabajo más vulnerable a las amenazas emergentes.

  • La eliminación de reglas de firewall de los flujos de red para mejorar la latencia de red puede permitir la comunicación no deseada.

  • Minimizar la validación de datos para un procesamiento de datos más rápido podría poner en peligro la integridad de los datos, especialmente si las entradas son malintencionadas.

  • El uso de menos entropía en algoritmos de cifrado o hash, por ejemplo, en el vector de inicialización (IV), es más eficaz, pero hace que el cifrado sea más fácil de descifrar.

Equilibrio: aumento del área expuesta de la carga de trabajo. La seguridad prioriza un área expuesta reducida y contenida para minimizar los vectores de ataque y reducir la administración de los controles de seguridad.

Los patrones de diseño en la nube centrados en el rendimiento a veces requieren la introducción de componentes adicionales. Estos componentes aumentan el área expuesta de la carga de trabajo. Los nuevos componentes deben protegerse, posiblemente de maneras que aún no se usen en el sistema, y a menudo aumentan el ámbito de cumplimiento. Tenga en cuenta estos componentes agregados habitualmente:

  • Un bus de mensajes para la ordenación de carga

  • Un equilibrador de carga para réplicas de escalado automático

  • Descarga de datos en cachés, redes de entrega de aplicaciones o redes de entrega de contenido

  • Descarga del procesamiento en trabajos en segundo plano o incluso proceso de cliente

Equilibrio: quitar la segmentación. El pilar seguridad prioriza una segmentación fuerte para permitir controles de seguridad específicos y reducir el radio de explosión.

Compartir recursos es un enfoque para mejorar la eficiencia. Aumenta la densidad para optimizar el uso de la capacidad. Entre los ejemplos se incluyen escenarios multiinquilino o la combinación de aplicaciones dispares en una arquitectura en una plataforma de aplicaciones común. La mayor densidad puede dar lugar a los siguientes problemas de seguridad:

  • Mayor riesgo de movimiento lateral no autorizado de un inquilino a otro.

  • Una identidad de carga de trabajo compartida que infringe el principio de privilegios mínimos y oculta los registros de auditoría individuales en los registros de acceso.

  • Los controles de seguridad perimetral, por ejemplo, las reglas de red, que se reducen para cubrir todos los componentes ubicados conjuntamente, lo que proporciona más acceso a los componentes individuales de los necesarios.

  • Un riesgo del host de la plataforma de aplicaciones o de un componente individual debido a un radio de explosión mayor. Este aumento se debe a un acceso más fácil a los componentes ubicados conjuntamente.

  • Colocalización de componentes dispares que conducen a más componentes en el ámbito de cumplimiento debido a su host compartido.

Desventajas de la eficiencia del rendimiento con optimización de costos

Compensación: demasiada oferta para la demanda. Tanto la optimización de costos como la eficiencia del rendimiento priorizan tener suficiente oferta para atender la demanda.

  • El aprovisionamiento excesivo es un riesgo cuando los equipos intentan mitigar problemas de rendimiento en una carga de trabajo. Algunas causas comunes del sobreaprovisionamiento son:

    • El planeamiento inicial de la capacidad se jugó erróneamente porque el equipo se centró solo en las estimaciones de carga máximas, descuidando las estrategias para suavizar el máximo en el diseño de la carga de trabajo.
    • Escalar o reducir verticalmente un recurso durante un paso de solución de problemas de una respuesta a incidentes.
  • El escalado automático puede estar mal configurado. Algunos ejemplos de escalado automático mal configurado incluyen:

    • El escalado vertical con cambios mínimos en la demanda o un período de enfriamiento extendido puede incurrir en más costos que la demanda.
    • El uso del escalado automático sin un límite superior establecido puede provocar un crecimiento incontrolado debido a errores del sistema o abuso y superar los requisitos de carga de trabajo esperados.
  • La expansión en varias regiones puede mejorar el rendimiento al acercar las cargas de trabajo al usuario y puede evitar restricciones de capacidad de recursos temporales. Sin embargo, también agrega complejidad y duplicación de recursos.

Equilibrio: más componentes. Una técnica de optimización de costos consiste en consolidar con un menor número de recursos aumentando la densidad, eliminando la duplicación y la funcionalidad de colocalización.

  • Los patrones de diseño en la nube centrados en el rendimiento a veces requieren la introducción de componentes adicionales. Estos componentes adicionales suelen provocar un aumento general del costo de la carga de trabajo. Por ejemplo, puede incluir un bus de mensajes para las tareas de nivelación de carga o descarga en una aplicación o red de entrega de contenido para mejorar los tiempos de respuesta.

  • La segmentación de recursos permite que diferentes partes de una carga de trabajo tengan características de rendimiento distintas, lo que permite el ajuste independiente para cada segmento. Sin embargo, puede aumentar los costos de propiedad total porque requiere varios segmentos optimizados en lugar de un único componente generalizado.

Compensación: mayor inversión en artículos que no están alineados con los requisitos funcionales. Un enfoque para la optimización de costos es evaluar el valor proporcionado por cualquier solución que se implemente.

  • Los servicios Premium y las SKU pueden ayudar a una carga de trabajo a cumplir los objetivos de rendimiento. Normalmente, estos servicios cuestan más y pueden proporcionar características adicionales. Se pueden infrautilizar si muchas de las características premium no se usan específicamente para cumplir los objetivos de rendimiento.

  • Una carga de trabajo eficaz requiere datos de telemetría para la observabilidad que se deben transferir y almacenar. Un aumento de la telemetría de rendimiento que se recopila puede aumentar el costo de la transferencia y el almacenamiento de datos de telemetría.

  • Las actividades de pruebas de rendimiento agregan costos que no están asociados al valor del sistema de producción. Algunos ejemplos de costos de pruebas de rendimiento son:

    • Creación de instancias de entornos dedicados a pruebas centradas en el rendimiento.
    • Uso de herramientas de rendimiento especializadas.
    • Dedicar tiempo a ejecutar las pruebas.
  • Entrenar a los miembros del equipo para tareas de optimización de rendimiento especializadas o pagar por los servicios de optimización del rendimiento agrega al costo de una carga de trabajo.

Desventajas de la eficiencia del rendimiento con excelencia operativa

Inconveniente: reducción de la observabilidad. La observabilidad es necesaria para proporcionar una carga de trabajo con alertas significativas y ayudar a garantizar una respuesta a incidentes correcta.

  • Reducir el volumen de registros y métricas para reducir el tiempo de procesamiento dedicado a la recopilación de telemetría en lugar de otras tareas reduce la observabilidad general del sistema. Algunos ejemplos de la observabilidad reducida resultante incluyen:

    • Limita los puntos de datos que se usan para crear alertas significativas.
    • Conduce a brechas en la cobertura de las actividades de respuesta a incidentes.
    • Limita la observabilidad en interacciones y límites sensibles a la seguridad o de cumplimiento.
  • Cuando se implementan patrones de diseño de rendimiento, la complejidad de la carga de trabajo a menudo aumenta. Los componentes se agregan a los flujos críticos. La estrategia de supervisión de cargas de trabajo y la supervisión del rendimiento deben incluir esos componentes. Cuando un flujo abarca varios componentes o límites de aplicación, aumenta la complejidad de supervisar el rendimiento de ese flujo. El rendimiento del flujo debe correlacionarse entre todos los componentes interconectados.

Equilibrio: mayor complejidad en las operaciones. Un entorno complejo tiene interacciones más complejas y una mayor probabilidad de un impacto negativo de las operaciones rutinarias, ad hoc y de emergencia.

  • Mejorar la eficiencia del rendimiento al aumentar la densidad eleva el riesgo en las tareas operativas. Un error en un único proceso puede tener un radio de explosión grande.

  • A medida que se implementan patrones de diseño de rendimiento, influyen en procedimientos operativos como copias de seguridad, rotaciones de claves y estrategias de recuperación. Por ejemplo, la creación de particiones de datos y el particionamiento pueden complicar las tareas rutinarias cuando los equipos intentan asegurarse de que esas tareas no afectan a la coherencia de los datos.

Equilibrio: estrés cultural. La excelencia operativa se basa en una cultura de falta de culpa, respeto y mejora continua.

  • La realización del análisis de la causa principal de los problemas de rendimiento identifica deficiencias en procesos o implementaciones que requieren corrección. El equipo debe considerar el ejercicio una oportunidad de aprendizaje. Si se culpa a los miembros del equipo por problemas, la moral puede verse afectada.

  • Los procesos rutinarios y ad hoc pueden afectar al rendimiento de la carga de trabajo. A menudo se considera preferible realizar estas actividades durante las horas de poca actividad. Sin embargo, las horas fuera del pico pueden ser inconvenientes o fuera del horario normal para los miembros del equipo responsables o capacitados en estas tareas.

Explore los inconvenientes de los otros pilares: