Поделиться через


Компромиссы между производительностью и эффективностью для Power Platform рабочих нагрузок

Эффективной считается рабочая нагрузка, которая достигает целевых показателей производительности без избыточного выделения ресурсов. Ключевые стратегии повышения производительности включают правильное использование оптимизаций кода, шаблонов проектирования и планирования мощностей. В основе этого принципа лежат четкие целевые показатели производительности и тестирование.

На этапе проектирования рабочей нагрузки важно учитывать, как решения, основанные на принципах проектирования эффективности производительности и рекомендациях в контрольном списке обзора проектирования для эффективности производительности , могут повлиять на цели и усилия по оптимизации других столпов. Определенные решения могут принести пользу одним столпам, но при этом представлять собой компромисс для других. В этой статье перечислены примеры компромиссов, с которыми может столкнуться рабочая группа при проектировании архитектуры рабочей нагрузки и операций для повышения производительности.

Компромисс между производительностью и надежностью

Компромисс: снижение репликации и повышение плотности. Краеугольным камнем надежности является обеспечение устойчивости за счет использования репликации и ограничения радиуса поражения неисправностей.

  • Консолидация ресурсов рабочей нагрузки может использовать избыточные мощности и повысить эффективность. Однако это увеличивает радиус поражения неисправности в совмещенном компоненте или прикладной платформе.

Компромисс: повышенная сложность. Надежность важнее простоты.

  • Разделение и сегментирование данных помогают избежать проблем с производительностью в больших или часто используемых наборах данных. Однако реализация этих шаблонов увеличивает сложность, поскольку (конечная) согласованность должна поддерживаться на дополнительных ресурсах.

  • Денормализация данных для оптимизированных шаблонов доступа может повысить производительность, но это приводит к усложнению, поскольку необходимо синхронизировать несколько представлений данных.

  • Шаблоны проектирования облаков, ориентированные на производительность, иногда требуют внедрения дополнительных компонентов. Использование этих компонентов увеличивает площадь поверхности рабочей нагрузки. Затем сами компоненты должны быть надежными, чтобы обеспечить надежность всей рабочей нагрузки.

Компромисс: тестирование и наблюдение в активных средах. Избегание ненужного использования производственных систем — это подход, направленный на самосохранение надежности.

  • Тестирование производительности в активных средах несет в себе риск возникновения неисправностей из-за тестовых действий или конфигураций.

  • Рабочие нагрузки следует контролировать с помощью системы мониторинга производительности приложений (APM), которая позволяет командам извлекать уроки из активных сред. Инструментарий APM устанавливается и настраивается в коде приложения или в среде хостинга. Неправильное использование, превышение ограничений или неправильная настройка инструмента могут поставить под угрозу его функциональность и обслуживание, что может подорвать надежность.

Компромисс между производительностью, эффективностью и безопасностью

Компромисс: Сокращение контроля безопасности. Контроль безопасности устанавливается на нескольких уровнях, иногда избыточно, чтобы обеспечить глубокую защиту.

Одной из стратегий оптимизации производительности является удаление или обход компонентов или процессов, которые приводят к задержкам в потоке, особенно когда время их обработки неоправданно. Однако эта стратегия может поставить под угрозу безопасность и должна сопровождаться тщательным анализом рисков. Рассмотрим следующие примеры:

  • Удаление шифрования при передаче или хранении данных для повышения скорости передачи данных подвергает данные потенциальному нарушению целостности или конфиденциальности.

  • Удаление или сокращение числа инструментов сканирования или проверки безопасности с целью сокращения времени обработки может поставить под угрозу конфиденциальность, целостность или доступность, которые защищают эти инструменты.

  • Удаление правил брандмауэра из сетевых потоков для уменьшения сетевой задержки может привести к нежелательному взаимодействию.

  • Минимизация проверки данных для ускорения обработки данных может поставить под угрозу целостность данных, особенно если входные данные являются вредоносными.

Компромисс: Увеличение рабочей поверхности нагрузки. Безопасность отдает приоритет уменьшению и ограничению рабочей поверхности, чтобы минимизировать векторы атак и упростить управление средствами безопасности.

Шаблоны проектирования облаков, ориентированные на производительность, иногда требуют внедрения дополнительных компонентов. Эти компоненты увеличивают площадь поверхности рабочей нагрузки. Новые компоненты должны быть защищены, возможно, способами, которые еще не используются в системе, и они часто расширяют область соответствия. Рассмотрим эти часто добавляемые компоненты:

  • Внедрение различных методов обработки бизнес-логики, таких как облачные потоки и плагины малокодовый, на основе требований к производительности каждой задачи.

  • Передача обработки фоновым задачам или даже клиентским вычислениям.

Компромисс: устранение сегментации. Столп «Безопасность» отдает приоритет строгой сегментации, чтобы обеспечить детальный контроль безопасности и сократить радиус поражения.

Совместное использование ресурсов — это подход к повышению эффективности. Увеличивает плотность для оптимизации использования емкости. Например, повторное использование плагинов малокодовый в нескольких приложениях Canvas и облачных потоках. Повышенная плотность может привести к следующим проблемам безопасности:

  • Общая идентификация рабочей нагрузки, которая нарушает принцип наименьших привилегий и скрывает индивидуальные контрольные следы в журналах доступа.

  • Меры безопасности периметра, например, сетевые правила, которые сводятся к охвату всех совместно размещенных компонентов, предоставляя отдельным компонентам больший доступ, чем необходимо.

Компромисс между эффективностью работы и операционным совершенством

Компромисс: снижение наблюдаемости. Мониторинг необходим для предоставления рабочей нагрузке значимых оповещений и содействия успешному устранению инцидентов ответ.

  • Уменьшение объема логов и метрик с целью сокращения времени обработки, затрачиваемого на сбор телеметрии вместо других задач, снижает общую наблюдаемость системы. Вот некоторые примеры снижения наблюдаемости:

    • Это ограничивает точки данных, которые используются для создания значимых оповещений.
    • Это приводит к пробелам в освещении мероприятий по инциденту ответ.
    • Это ограничивает наблюдаемость во взаимодействиях и границах, чувствительных к безопасности или соблюдению требований.
  • При внедрении шаблонов проектирования производительности сложность рабочей нагрузки часто возрастает. Компоненты добавляются к критическим потокам. Стратегия мониторинга рабочей нагрузки и мониторинга производительности должны включать эти компоненты. Когда поток охватывает несколько компонентов или границ приложений, сложность мониторинга производительности этого потока возрастает. Эффективность потока должна быть согласована между всеми взаимосвязанными компонентами.

Компромисс: Повышение сложности операций. Сложная среда имеет более сложные взаимодействия и более высокую вероятность негативного воздействия от рутинных, непредвиденных и экстренных операций.

  • Повышение эффективности работы за счет увеличения плотности повышает риск при выполнении операционных задач. Ошибка в одном процессе может иметь большой радиус действия.

  • По мере внедрения шаблонов проектирования производительности они оказывают влияние на такие эксплуатационные процедуры, как резервное копирование, ротация ключей и стратегии восстановления. Например, разделение и сегментирование данных может усложнить выполнение рутинных задач, когда команды пытаются гарантировать, что эти задачи не повлияют на согласованность данных.

Компромисс: Культурный стресс. Операционное совершенство основано на культуре безупречности, уважения и постоянного совершенствования.

  • Проведение анализа первопричин проблем производительности позволяет выявить недостатки в процессах или реализациях, требующие исправления. Команда должна рассматривать это упражнение как возможность обучения. Если в проблемах обвиняют членов команды, это может повлиять на моральный дух.

  • Рутинные и несистематические процессы могут влиять на производительность рабочей нагрузки. Часто считается, что предпочтительнее выполнять эти действия в часы наименьшей нагрузки. Однако часы непиковой нагрузки могут быть неудобны или выходить за рамки обычного рабочего времени для членов команды, которые отвечают за эти задачи или имеют навыки их выполнения.

Компромиссы между производительностью и эффективностью с оптимизацией опыта

Компромисс: снижение вовлеченности пользователей. В основе принципа оптимизации опыта лежит более вовлекающий пользовательский опыт.

  • Оптимизация производительности отдает приоритет использованию функций платформы, а не настройкам, что снижает приоритетность пользовательских компонентов, которые могли бы обеспечить более увлекательный пользовательский опыт.

  • Оптимизация производительности может быть слишком сосредоточена на минимизации сложности, что снижает приоритет функций, которые нужны для более увлекательного пользовательского опыта, например, пользовательских компонентов и интеграций.

  • Разработка пользовательского интерфейса часто выполняется в более быстрых итерациях и циклах поставки, что может затруднить постоянное повышение производительности.