Compensación de la eficiencia del rendimiento para las cargas de trabajo Power Platform
Una carga de trabajo que cumple sus objetivos de rendimiento sin aprovisionamiento excesivo es eficiente. Las estrategias clave para la eficiencia del rendimiento incluyen el uso adecuado de optimizaciones de código, patrones de diseño y planificación de la capacidad. Este pilar se sustenta en objetivos de rendimiento claros y pruebas.
Durante la fase de diseño de una carga de trabajo, es importante considerar cómo las decisiones basadas en los principios de diseño de eficiencia de rendimiento y las recomendaciones de la Lista de verificación de revisión de diseño para eficiencia de rendimiento podrían influir en los objetivos y los esfuerzos de optimización de otros pilares. Ciertas decisiones pueden beneficiar a algunos pilares, pero representar desventajas para otros. En este artículo se enumeran ejemplos de compensaciones que un equipo de carga de trabajo podría encontrar al diseñar la arquitectura y las operaciones de carga de trabajo para lograr un rendimiento eficiente.
Intercambio de eficiencia y rendimiento con confiabilidad
Compensación: menor replicación y mayor densidad. Una piedra angular de la confiabilidad es asegurar la resiliencia mediante el uso de la replicación y limitando el radio de explosión de las fallas.
- La consolidación de recursos de carga de trabajo puede aprovechar el 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.
Compromiso: Mayor complejidad. La confiabilidad prioriza la simplicidad.
La partición y fragmentación 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 es necesario mantener la consistencia (eventual) entre recursos adicionales.
La desnormalización de datos para patrones de acceso optimizados puede mejorar el rendimiento, pero introduce complejidad porque es necesario mantener sincronizadas múltiples representaciones de datos.
Los patrones de diseño de nube centrados en el rendimiento a veces requieren la introducción de componentes adicionales. El uso de estos componentes aumenta la superficie de la carga de trabajo. Los componentes deben ser entonces hechos confiables para mantener confiable toda la carga de trabajo.
Compensación: Pruebas y observación en entornos activos. Evitar el uso innecesario de sistemas de producción es un enfoque de autoconservación para la confiabilidad.
Las pruebas de rendimiento en entornos activos conllevan el riesgo de provocar fallos de funcionamiento debido a las acciones o configuraciones de prueba.
Las cargas de trabajo deben instrumentarse con un sistema de monitoreo del rendimiento de aplicaciones (APM) que permita a los equipos aprender de los entornos activos. Las herramientas APM se instalan y configuran en el código de la aplicación o en el alojamiento ambiente. El uso inadecuado, exceder las limitaciones o una configuración incorrecta de la herramienta pueden comprometer su funcionalidad y mantenimiento, lo que potencialmente socavará su confiabilidad.
Compensación entre eficiencia y rendimiento con seguridad
Compensación: reducción de los controles de seguridad. Los controles de seguridad se establecen en múltiples capas, a veces de manera redundante, para proporcionar una defensa en profundidad.
Una estrategia de optimización del rendimiento es eliminar o eludir componentes o procesos que contribuyen a generar retrasos en un flujo, especialmente cuando su tiempo de procesamiento no está justificado. Sin embargo, esta estrategia puede comprometer la seguridad y debe ir acompañada de un análisis de riesgos exhaustivo. Tenga en cuenta los siguientes ejemplos:
Eliminar el cifrado en tránsito o en reposo para mejorar las velocidades de transferencia expone los datos a posibles violaciones de integridad o confidencialidad.
Eliminar o reducir las herramientas de escaneo o inspección de seguridad para reducir los tiempos de procesamiento puede comprometer la confidencialidad, integridad o disponibilidad de esas herramientas proteger.
Eliminar las reglas de firewall de los flujos de red para mejorar la latencia de la red puede permitir una comunicación no deseada.
Minimizar la validación de datos para un procesamiento más rápido podría comprometer la integridad de los datos, especialmente si las entradas son maliciosas.
Compensación: mayor superficie de carga de trabajo. La seguridad prioriza una superficie reducida y contenida para minimizar los vectores de ataque y reducir la gestión de los controles de seguridad.
Los patrones de diseño de nube centrados en el rendimiento a veces requieren la introducción de componentes adicionales. Estos componentes aumentan la superficie de la carga de trabajo. Los nuevos componentes deben protegerse, posiblemente de maneras que no se utilizan ya en el sistema, y a menudo aumentan el alcance del cumplimiento. Considere estos componentes que se agregan comúnmente:
Presentamos múltiples métodos diferentes para manejar la lógica empresarial, como flujos de nube y complementos con poco código, según los requisitos de rendimiento de cada tarea.
Descargar el procesamiento a trabajos en segundo plano o incluso al cómputo del cliente.
Compensación: eliminar la segmentación. El pilar de seguridad prioriza una segmentación fuerte para permitir controles de seguridad detallados 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. Por ejemplo, reutilizar los complementos con poco código en múltiples aplicaciones de lienzo y flujos en la nube. El aumento de la densidad puede generar los siguientes problemas de seguridad:
Una identidad de carga de trabajo compartida que viola el principio de mínimo privilegio y oculta registros de auditoría individuales en los registros de acceso.
Controles de seguridad perimetral, por ejemplo reglas de red, que se reducen para cubrir todos los componentes ubicados en el mismo lugar, lo que otorga a los componentes individuales más acceso del necesario.
Equilibrio entre rendimiento, eficiencia y excelencia operativa
Compensación: observabilidad reducida. El monitoreo es necesario para proporcionar una carga de trabajo con alertas significativas y ayudar a garantizar un incidente exitoso respuesta.
Reducir el volumen de registros y métricas para reducir el tiempo de procesamiento dedicado a recopilar telemetría en lugar de otras tareas reduce la capacidad de observación general del sistema. Algunos ejemplos de la observabilidad reducida resultante incluyen:
- Limita los puntos de datos que se utilizan para crear alertas significativas.
- Esto genera lagunas en la cobertura de las actividades del incidente respuesta.
- Limita la observabilidad en interacciones y límites sensibles a la seguridad o al cumplimiento.
Cuando se implementan patrones de diseño de rendimiento, la complejidad de la carga de trabajo a menudo aumenta. Se agregan componentes a los flujos críticos. La estrategia de monitoreo de la carga de trabajo y el monitoreo del desempeño deben incluir esos componentes. Cuando un flujo abarca múltiples componentes o límites de aplicación, aumenta la complejidad de monitorear el rendimiento de ese flujo. El rendimiento del flujo debe correlacionarse entre todos los componentes interconectados.
Compensación: Mayor complejidad en las operaciones. Un Listo complejo tiene interacciones más complejas y una mayor probabilidad de un impacto negativo de operaciones de rutina, ad hoc y de emergencia.
Mejorar la eficiencia del rendimiento incrementando la densidad eleva el riesgo en las tareas operativas. Un error en un solo proceso puede tener un gran radio de explosión.
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 partición y fragmentación de datos pueden complicar las tareas rutinarias cuando los equipos intentan garantizar que dichas tareas no afecten la consistencia de los datos.
Compensación: estrés cultural. La excelencia operativa se basa en una cultura de inocencia, respeto y mejora continua.
La realización de un análisis de causa raíz de los problemas de rendimiento identifica deficiencias en los procesos o implementaciones que requieren corrección. El equipo debe considerar el ejercicio como una oportunidad de aprendizaje. Si se culpa a los miembros del equipo por los problemas, la moral puede verse afectada.
Los procesos rutinarios y ad hoc pueden afectar el rendimiento de la carga de trabajo. A menudo se considera preferible realizar estas actividades fuera de horas punta. Sin embargo, las horas de menor actividad pueden resultar inconvenientes o estar fuera del horario habitual para los miembros del equipo que son responsables o están capacitados para realizar estas tareas.
Compensación de la eficiencia del rendimiento con la optimización de la experiencia
Compensación: menor participación del usuario. El pilar de optimización de la experiencia prioriza experiencias de usuario más atractivas.
La optimización del rendimiento prioriza el uso de las características de la plataforma por sobre las personalizaciones, lo que deja de lado los componentes personalizados que podrían generar una experiencia de usuario más atractiva.
La optimización del rendimiento puede centrarse demasiado en minimizar la complejidad, lo que resta prioridad a las funciones para brindar experiencias de usuario más atractivas, como componentes e integraciones personalizados.
El desarrollo de la interfaz de usuario a menudo se realiza en iteraciones y ciclos de envío más rápidos, lo que puede dificultar la mejora continua del rendimiento.