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


Рекомендации по выбору нужных служб

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

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

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

Определения

Термин Определение
Зона доступности Отдельная группа центров обработки данных в пределах региона. Каждая зона доступности не зависит от других и имеет собственную инфраструктуру питания, охлаждения и сети. Многие регионы поддерживают зоны доступности.
Служба вычислений Служба, предоставляющая инфраструктуру, необходимую для запуска приложения.
Служба баз данных Служба, которая предоставляет реляционные и нереляционные базы данных для приложения.
Инфраструктура Физические компоненты облачных вычислений и географическое расположение компонентов.
Инфраструктура как услуга (IaaS) Служба, в которой клиент отвечает за операционную систему, удостоверения, приложения и сеть.
Платформа как услуга (PaaS) Служба, в которой поставщик облачных служб отвечает за операционную систему. Поставщик облачных служб несет ответственность за управление удостоверениями, приложениями и сетями с клиентом.
Регион Географический периметр, содержащий набор центров обработки данных.
Ресурс Единая сущность или компонент, которые можно создавать, настраивать и использовать в поставщике облачных служб.
Служба Продукт или предложение от поставщика облачных служб.
Номер единицы хранения (номер SKU) Уровень служб для службы Azure.
Служба хранилища Служба, предоставляющая хранилище для объектов, блоков и файлов.

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

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

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

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

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

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

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

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

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

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

Общие сведения о службах

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

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

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

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

Предпочитать функции платформы

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

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

Оценка требований к инфраструктуре

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

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

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

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

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

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

Оценка требований к сети

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

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

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

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

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

Компромисс. Частная виртуальная сеть ограничивает общий доступ и затрудняет развертывание ресурсов и управление ими.

Оценка требований к вычислительным ресурсам

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

  • Общие сведения о типах экземпляров. Различные типы экземпляров оптимизированы для разных рабочих нагрузок, таких как оптимизированные для ЦП, оптимизированные для памяти экземпляры и экземпляры GPU. Выберите тип экземпляра, соответствующий вашим потребностям.

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

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

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

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

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

Оценка требований к балансировке нагрузки

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

  • Общие сведения о типе трафика. Определите, должна ли служба балансировки нагрузки обрабатывать веб-трафик, например HTTP и HTTPS, или другие протоколы, такие как TCP или UDP.

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

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

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

Оценка требований к хранилищу данных

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

Оценка требований к базе данных

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

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

  • Рассмотрим модель данных. Определите модель данных, которая лучше всего соответствует вашей рабочей нагрузке. Оцените требования к базе данных, чтобы убедиться, что выбранная база данных поддерживает необходимые структуры данных, связи и ограничения целостности. Например, если данные имеют высокореляционную структуру, вы можете выбрать систему управления реляционными базами данных (RDBMS), которая обеспечивает надежную поддержку транзакций и целостности ссылок. Модель данных может быть иерархической, сетевой, реляционной, объектно-ориентированной или NoSQL. Оцените сложность модели данных. Убедитесь, что выбранная база данных поддерживает необходимые структуры данных и связи.

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

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

Оценка требований к хранилищу

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

Оценка требований к кэшу

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

Упрощение azure

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

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

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

В примере "Ограничения и квоты запросов " показано, как запрашивать ограничения и квоты для часто используемых ресурсов.

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

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

Ознакомьтесь с полным набором рекомендаций.