Проектирование для удовлетворения требований к емкости

Завершено
Предоставьте достаточное количество поставок для решения ожидаемого спроса.

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

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

Пример сценария

Компания Contoso Manufacturing разработала внутренне используемое приложение микрослужб на основе Java Spring, которое используется для мониторинга и оптимизации производственных процессов. Команда рабочей нагрузки находится в процессе миграции приложения, размещенного в настоящее время в Azure.

Размещенное в Azure приложение будет создано на основе Azure Spring Apps, База данных Azure для MySQL и Центр Интернета вещей Azure. Contoso имеет подключение ExpressRoute к Azure.

Эффективное проектирование рабочей нагрузки

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

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

Ресурсы правого размера могут соответствовать изменениям спроса без чрезмерной подготовки, что приводит к экономии затрат.

Задача Компании Contoso

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

Применение подхода и результатов

  • После сравнения различных планов команда выбирает план Azure Spring Apps standard, который предоставляет полностью управляемую службу для приложений Spring Boot, оптимизированную для рабочего трафика. При использовании не более 500 экземпляров на приложение план "Стандартный" может обеспечить достаточную емкость вычислений для максимального ожидаемого использования.
  • Кроме того, служба может быть настроена для масштабирования по мере необходимости и будет масштабировать вычислительные ресурсы, если дополнительная емкость не требуется.
  • Команда рассмотрела план Enterprise, который может масштабировать до 1000 экземпляров на приложение, но решил, что на данный момент им не потребуется такая емкость. Они также уверены, что они не нуждаются в уровне поддержки предложений плана Enterprise, или остальных его эксклюзивных функций.

Правильное прогнозирование потребностей в емкости

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

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

Задача Компании Contoso

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

Применение подхода и результатов

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

Подтверждение развертывания концепции

Реализуйте подтверждение концепции (POC), которая проверяет технические требования и варианты проектирования.

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

Кроме того, проверьте затраты на варианты проектирования.

Задача Компании Contoso

  • Во время разработки команда выполняет обширное тестирование нагрузки и производительности функциональных возможностей приложения с помощью симуляторов устройств и использует эти сведения для оптимизации конфигурации автомасштабирования.
  • Одним из аспектов, которые могут повлиять на эффективность конфигурации автомасштабирования, является потенциальная задержка сети, которая взаимодействует с средой Azure Spring Apps с устройствами Интернета вещей на производственном этаже, которая подключена к Azure через ExpressRoute. Команда предполагает, что задержка будет выше в Azure, чем для локальной версии, если приложение, и эта задержка также может повлиять на другие факторы, такие как время дня или расположение устройства.
  • Увеличение задержки, скорее всего, повлияет на объем транзакций каждый экземпляр микрослужбы.

Применение подхода и результатов

  • Команда решает развернуть POC в Azure, чтобы проверить свои гипотезы и собрать метрики, которые можно использовать для оптимизации конфигурации. Они создают тестирование Azure Spring App для взаимодействия с устройствами Интернета вещей, распределенными по производственному полу. Устройства Интернета вещей подключены к локальной сети и зарегистрированы в Центр Интернета вещей Azure. Тестовое приложение случайно подключается к устройствам в течение дня, отправляя простую проверку связи и записывая время, необходимое для получения ответа.
  • Данные, полученные во время этого POC, в сочетании с результатами нагрузочного тестирования, позволят команде более точно оценить необходимые вычислительные мощности, так как они готовятся к первоначальному рабочему запуску.
  • Команда также рассматривает способы дальнейшего улучшения тестовых случаев, используемых для нагрузочного тестирования, чтобы имитировать более реалистичное время отклика на основе обучения от POC.

Проверьте свои знания

1.

В контексте разработки в соответствии с требованиями к емкости можно выбрать нужные ресурсы для рабочей нагрузки?

2.

Для чего следует использовать прогнозное моделирование?

3.

Какова одна гипотеза, которую компания Contoso пыталась проверить с развертыванием POC?