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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также