Рекомендации по планированию ресурсов

Применяется к этой рекомендации по повышению эффективности производительности Azure Well-Architected Framework:

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

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

Определения

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

Ключевые стратегии проектирования

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

Сбор данных о емкости

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

Общие сведения о существующей рабочей нагрузке

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

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

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

  • Определение ключевых метрик. Определите метрики, относящиеся к планированию ресурсов. Метрики могут включать использование ЦП, использование памяти, пропускную способность сети и время отклика.

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

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

Общие сведения о новой рабочей нагрузке

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

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

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

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

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

Прогнозирование спроса

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

Учет различных сценариев

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

  • Проектирование (прогнозирование)
  • Регулярные пики (8:00 спешка при входе)
  • Запуск (проверка прогнозирования)
  • Изменение бизнес-модели
  • Приобретение или слияние
  • Маркетинговая толчок
  • Сезонные изменения
  • Запуск функции
  • Периодически

Использование методов прогнозирования

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

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

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

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

Согласование прогнозов с целями рабочей нагрузки

Согласование прогнозов с целями рабочей нагрузки включает в себя корректировку моделей прогнозной емкости, чтобы обеспечить их соответствие конкретным целям и требованиям данной рабочей нагрузки. Такое выравнивание обеспечивает надлежащую подготовку ресурсов, предотвращая как недоиспользование, так и потенциальные перегрузки рабочей нагрузки. Например, если вы хотите обеспечить поддержку API для 1 миллиона пользователей для отправки файлов размером 1 МБ в секунду, но текущие данные показывают низкую скорость записи, необходимо настроить систему. Важно поговорить с заинтересованными лицами, чтобы понять требования рабочей нагрузки. Убедитесь, что ваши планы соответствуют обещаниям (SLA) поставщиков услуг. Такое выравнивание обеспечивает соответствие емкости ожидаемому спросу и помогает точно определить области системы, для которых могут потребоваться изменения.

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

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

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

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

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

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

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

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

Общие сведения об ограничениях ресурсов

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

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

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

Упрощение поддержки Azure

Сбор данных емкости и прогнозирование спроса. Azure Monitor позволяет собирать и анализировать данные телеметрии из приложений и инфраструктуры. Она поддерживает мониторинг различных ресурсов Azure, включая виртуальные машины, контейнеры и учетные записи хранения. К основным средствам относятся Application Insights и Log Analytics. Настроив сбор данных и определив метрики и журналы, которые требуется отслеживать, можно собрать ценные данные рабочей нагрузки для анализа. Для мониторинга сети комбинируйте Azure Monitor с azure Наблюдатель за сетями, аналитикой сети Azure Monitor и мониторингом Azure ExpressRoute.

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

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

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

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

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

См. полный набор рекомендаций.