Стратегии архитектуры для выбора правильных служб

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

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

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

Определения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Упрощение функций Azure

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

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

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

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

Контрольный список эффективности производительности

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