Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управление функциями — это практика разработки программного обеспечения, которая отделяет выпуск компонентов от развертывания кода и позволяет быстро изменять доступность компонентов по запросу. Он использует технику feature flags для динамического администрирования жизненного цикла функции, позволяя включать или отключать функциональность, таргетировать её на конкретных пользователей или внедрять постепенно, без повторного развертывания приложения.
Ключевые возможности
Конфигурация приложений Azure Feature Management поддерживает три основных сценария использования флагов функций в зависимости от ваших целей: Switch, Rollout и Experiment. Каждый сценарий соответствует общей цели управления функциями и открывает разный набор возможностей — от простого переключателя включения/выключения до целенаправленных процентных развертываний и многомерных экспериментов. Во всех трёх сценариях вы можете отслеживать и анализировать влияние ваших флагов функций, чтобы понять влияние функции на метрики вашего приложения. Используйте следующие разделы, чтобы выбрать сценарий, который соответствует вашей цели, прежде чем углубляться в детали отдельных фильтров, условий или вариантов.
Выключатель (включён/выключен)
Используйте когда: Вам нужен простой, мгновенный регулятор включения/выключения для всех пользователей.
Возможности:
- Мгновенный выключатель — отключить неуправляемую функцию или зависимость за считанные секунды, без повторного развертывания кода
- Операционный переключатель — включать или выключать кратковременное состояние, например, режим обслуживания, по требованию
Например, команда выпускает новый алгоритм оформления заказа под флагом Switch с именем EnableNewCheckout. Если уровень ошибок резко возрастает после запуска, дежурный инженер отключает флаг, и каждый пользователь мгновенно возвращается к предыдущему процессу проверки, не перезапуская код. Тот же тип флага также хорошо работает как операционный переключатель, например, флаг MaintenanceMode , который команда оперативной команды включает перед миграцией базы данных и выключает после её завершения.
Дополнительные сведения:
Rollout
Используйте когда: Вы хотите постепенно раскрывать функцию для определённого процента пользователей или конкретных пользователей и групп, прежде чем сделать её общедоступной.
Возможности:
- Постепенный выпуск по процентам — открывайте доступ к функции для небольшой доли трафика и постепенно увеличивайте эту долю со временем (канареечное или поэтапное развёртывание), чтобы снизить риск
- Таргетированный доступ — включить функцию только для конкретных пользователей, группы или пользовательского атрибута, такого как регион, тип устройства или уровень подписки
- Активация по расписанию — автоматически включать или выключать функцию в установленное временное окно
- Развертывание конфигурации — вводите конфигурацию внутри флага, чтобы ваше приложение могло корректировать своё поведение по мере появления флага, без нового развертывания.
Например, команда, внедряющая новый флаг EnableNewCheckout, может начать со значения по умолчанию в 5 %, использовать переопределения для групп, чтобы включить свои внутренние группы QA и бета-тестировщиков на 100 %, и исключить устаревшие учетные записи. В последующие дни они повышают процент по умолчанию до 25%, затем до 50%, затем до 100%, наблюдая за метриками ошибок. Они также могут добавить расписание, чтобы функция автоматически выключалась после периода обслуживания.
Поэтапное развертывание конфигурации позволяет не ограничиваться булевым значением: например, можно привязать {"theme":"dark"} к флагу EnableNewCheckout, чтобы приложение использовало новую тему, только если при проверке этот флаг оказывается включённым. Эта конфигурация отличается от общих значений ключей App Configuration, которые не связаны с оцененным состоянием флага.
Дополнительные сведения:
Эксперимент
Используйте когда: Вам нужно сравнить несколько версий или вариантов одной функции и измерить, какая из них работает лучше всего.
Возможности:
- A/B-тестирование — сравните два или более двух вариантов одной функции друг с другом
- Распределение трафика между вариантами — контролируйте, какой процент пользователей подвержен воздействию каждого варианта
Например, команда, тестирующая две версии страницы оформления заказа, создаёт флаг варианта с Control и вариантом NewDesign и выделяет половину пользователей на каждую.
Дополнительные сведения:
Мониторинг и анализ воздействия
Используйте когда: Вам нужно видеть, как оцениваются ваши флаги функций, и понимать, влияют ли их варианты на метрики, важные для вашего приложения.
Возможности:
- Собирайте и просматривайте события флагов функций — фиксируйте события оценки флагов, которые излучает ваше приложение, а также просматривайте количество оценок, уникальных пользователей и распределения вариантов или причин назначения непосредственно во вкладке телеметрии портала Конфигурация приложений Azure.
- Анализируйте влияние с помощью карт метрик (предварительный просмотр) — автоматически анализируйте стандартную и пользовательскую телеметрию, отправляемую вашим приложением в Application Insights, и отображайте метрики, показывающие статистически значимую разницу между вариантами, без написания собственного запроса.
Например, продолжая эксперимент со страницей оформления заказа, каждая оценка флага генерирует событие телеметрии, и команда просматривает вкладку телеметрии портала Конфигурация приложений Azure, чтобы убедиться, что распределение трафика между Control и NewDesign работает как ожидается. Они открывают таблицу метрик на той же вкладке и видят, что NewDesign вариант показывает статистически значимое улучшение в пользовательской PurchaseCompleted метрике без значительного снижения времени загрузки страницы.
Группы «Затронуто» и «Неоднозначно» в оценочной таблице позволяют команде с первого взгляда подтвердить результат. Они по-прежнему могут углубиться в данные Application Insights, чтобы получить более детальное представление, например сопоставить события оценки с завершёнными покупками.
Дополнительные сведения:
Дальнейшие шаги
Чтобы эффективно использовать флаги функций, необходимо вывести все флаги функций, используемые в приложении, чтобы менять их состояние без изменений и повторного развертывания самого приложения. Конфигурация приложений Azure предоставляет централизованный репозиторий для флагов функций: используйте его для определения флагов Switch, Rollout и Experiment и быстро и уверенно управляйте их состоянием, затем используйте библиотеки App Configuration для вашего языка программирования или фреймворка, чтобы добавить оценку флагов функций во время выполнения.
Начните с быстрого старта
Чтобы добавить оценку флагов функций в ваше приложение, переходите к быстрому старту, который соответствует языку или платформе вашего приложения.
- ASP.NET Core
- Aspire
- Платформа .NET/.NET Framework
- Фоновая служба .NET
- Java Spring
- Python
- JavaScript
- Go
- Го Джин
- Служба Azure Kubernetes
- Функции Azure
Создание флагов компонентов и управление ими
- Создайте флаг функции: Создайте и управляйте флагами функций Switch, Rollout и Experiment в портале Azure.
Изучите подробнее возможности Rollout и Experiment
- Включение условных возможностей с помощью фильтров возможностей
- Включение функций по расписанию
- Развертывание функций для целевых аудиторий
- Использование вариантных флагов признаков
- Включите телеметрию для флагов функций
- Просмотр событий флагов функций
- Анализ влияния призначеских флагов
Клиентские библиотеки и SDK
Конфигурация приложений Azure предоставляет библиотеки управления функциями для нескольких языков и платформ. Каждая библиотека включает пакеты и сэмплы NuGet, npm, PyPI или Maven. Полный список поддерживаемых библиотек и их примечания к релизу см. Обзор управления функциями.