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 suministro para controlar la demanda en todo momento. Entre las estrategias clave para la eficiencia del rendimiento se 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 la 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 desventajas 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 y las operaciones de carga de trabajo para lograr una eficiencia del rendimiento.
Rentabilidad de rendimiento con confiabilidad
Compensación: 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 mal funcionamiento.
Una carga de trabajo que logra la eficacia retrasando 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 los 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.
Compensación: mayor complejidad. La confiabilidad prioriza la simplicidad.
El escalado automático para equilibrar el suministro de cargas 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 y particiones de datos ayudan a evitar problemas de rendimiento en conjuntos de datos grandes 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 datos para patrones de acceso optimizados puede mejorar el rendimiento, pero presenta complejidad porque es necesario mantener sincronizadas varias representaciones de datos.
En ocasiones, los patrones de diseño en la nube centrados en el rendimiento 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 y 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.
Compensación: pruebas y observación en entornos activos. Evitar el uso innecesario de los sistemas de producción es un enfoque de prevención de riesgos y autoconservació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 deben instrumentarse 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.
Ventajas 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.
La eliminación o reducción del examen de seguridad o la inspección de herramientas para reducir los tiempos de procesamiento pueden 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 flujos de red para mejorar la latencia de red puede permitir la comunicación no deseada.
Minimizar la validación de datos o las comprobaciones de seguridad de contenido 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.
Compensación: aumento del área expuesta de la carga de trabajo. La seguridad prioriza un área expuesta reducida y independiente para minimizar los vectores de ataque y reducir la administración de los controles de seguridad.
En ocasiones, los patrones de diseño en la nube centrados en el rendimiento 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:
Bus de mensajes para la ordenación de carga
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
Compensación: eliminación de la segmentación. El pilar seguridad prioriza la segmentación fuerte para permitir controles de seguridad específicos y reducir el radio de explosión.
Compartir recursos a través de una mayor densidad es un enfoque para mejorar la eficiencia. Entre los ejemplos se incluyen escenarios multiinquilino o la combinación de aplicaciones dispares en una arquitectura en una plataforma de aplicaciones común. El aumento de la 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 un componente individual debido a un radio de explosión mayor. Este aumento se debe a un acceso más sencillo 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.
Rentabilidad de rendimiento con optimización de costos
Compensación: demasiada oferta para la demanda. Tanto la optimización de costos como la eficiencia del rendimiento dan prioridad a tener suficiente oferta para atender la demanda.
El sobreaprovisionamiento es un riesgo cuando los equipos intentan mitigar los 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 solo se centró 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 suponer más costo que la demanda.
- El uso del escalado automático sin un límite superior establecido puede provocar un crecimiento no controlado debido a un mal funcionamiento del sistema o abuso y superar los requisitos esperados de la carga de trabajo.
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, esa topología también agrega complejidad y duplicación de recursos.
Compensación: 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 dar lugar a un aumento general del costo de la carga de trabajo. Por ejemplo, puede incluir un bus de mensajes para la migración de carga o la descarga de tareas 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 solo 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. Pueden estar infrautilizados 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. Entre los ejemplos de costos de pruebas de rendimiento se incluyen:
- Creación de instancias de entornos dedicados a las pruebas centradas en el rendimiento.
- Uso de herramientas de rendimiento especializadas.
- Dedicar tiempo a ejecutar las pruebas.
Los miembros del equipo de entrenamiento para tareas de optimización de rendimiento especializadas o pagar por los servicios de optimización de rendimiento agregan al costo de una carga de trabajo.
Rentabilidad de rendimiento con excelencia operativa
Compensación: reducción de la observabilidad. La observabilidad es necesaria para proporcionar una carga de trabajo con alertas significativas y ayudar a garantizar una respuesta correcta a los incidentes.
Reducir el volumen de registros y métricas para reducir el tiempo de procesamiento invertido en recopilar 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 a la conformidad.
Cuando se implementan patrones de diseño de rendimiento, la complejidad de la carga de trabajo a menudo aumenta. Los componentes se agregan a 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 estar correlacionado entre todos los componentes interconectados.
Compensación: 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 aumentando 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.
Compensación: 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 los miembros del equipo son culpables de 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 habitual para los miembros del equipo responsables o capacitados en estas tareas.
Vínculos relacionados
Explore los inconvenientes de los otros pilares: