Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приводятся рекомендации по реализации вендинг по подписке автоматизации. Vending подписки стандартизирует процесс запроса, развертывания и управления подписками, чтобы команды приложений могли быстрее развертывать свои рабочие нагрузки.
Подсказка
Эти модули для управления подписками — Bicep и Terraform — помогают ускорить создание подписок Azure или целевых зон приложений в массовом масштабе. Настройка входных параметров и переменных, передаваемых модулям, в соответствии с потребностями рабочих нагрузок. Дополнительные сведения о процессе продажи подписок см. в обзоре механизма подписки.
Architecture
Рекомендуется разработать автоматизацию продажи подписки для выполнения следующих задач:
- Сбор данных запроса подписки
- Запуск автоматизации платформы
- Создавайте подписки, используя инфраструктуру как код (IaC)
Для осуществления этих задач можно использовать несколько подходов к автоматизации управления подписками. В следующем примере реализации показан один подход, использующий Gitflow. Дизайн Gitflow соответствует декларативному подходу, который многие команды платформы используют для управления платформой.
Пример реализации выполняет следующие действия.
- Средство сбора данных собирает данные запроса подписки.
- Когда запрос подписки получает утверждение, он инициирует автоматизацию платформы. Автоматизация платформы состоит из конвейера запросов, системы контроля версий и конвейера развертывания.
- Конвейер запроса создает файл параметров подписки JSON, YAML или TFVARS с данными из средства сбора данных. Конвейер запросов также создает новую ветвь, фиксирует файл параметров подписки и открывает pull request в системе контроля версий.
- Новая ветвь объединяется с основной ветвью в системе управления версиями.
- Слияние активирует конвейер развертывания для создания подписки с модулями IaC.
Развертывание помещает подписку в правильную группу управления на основе требований к управлению. Он также создает предварительный бюджет подписки для создания основы для управления затратами. В зависимости от потребностей рабочей нагрузки развертывание может создать пустую виртуальную сеть и настроить пиринг в региональном центре. Команда платформы передает подписку группе приложений после создания и настройки. Затем команда приложений обновляет бюджет подписки и создает ресурсы рабочей нагрузки.
Сбор данных
Целью сбора данных является получение бизнес-утверждения и определение значений файла параметров подписки JSON, YAML или TFVARS. Используйте средство сбора данных для сбора необходимых данных, когда команда приложений отправляет запрос на подписку. Инструмент сбора данных взаимодействует с другими системами в рабочем процессе продажи подписок для запуска автоматизации платформы.
Используйте средство сбора данных. С помощью средства управления ИТ-службами (ITSM) можно собирать данные или создавать портал клиента с помощью средства с низким кодом или без кода, например Power Apps. Средство сбора данных предоставляет бизнес-логику для утверждения или запрета запроса на подписку.
Соберите необходимые данные. Необходимо собрать достаточно данных, чтобы определить значения файлов параметров подписки, чтобы автоматизировать развертывание. Определенные значения, которые вы собираете, зависят от ваших потребностей. Зафиксируйте авторизацию запроса, центр затрат и сетевые требования, такие как подключение к Интернету или к локальной сети. Может быть полезно попросить группу приложений о ожидаемых компонентах рабочей нагрузки, таких как платформа приложений и требования к данным, конфиденциальность данных и количество сред, включая разработку, тестирование, предварительную разработку и рабочие среды.
Проверка данных. Рекомендуется проверить данные во время процесса сбора данных. Решать проблемы на более поздних этапах автоматизации платформы сложнее.
Создайте отслеживаемый запрос. Средство сбора данных создает записанный и отслеживаемый запрос, например тикет в средстве ITSM для новой подписки. Включите все необходимые данные в запрос для выполнения требований к подписке. Привяжите бизнес-логику и отслеживание авторизации к запросу.
Интерфейс с другими внутренними системами. При необходимости инструмент сбора данных может интегрироваться с другими инструментами или системами в вашей организации. Этот подход дополняет запрос данными из других систем. Для выполнения автоматизации может потребоваться удостоверение, финансы, безопасность и сетевые данные. Например, автоматизация может взаимодействовать со средством управления IP-адресами (IPAM), чтобы зарезервировать правильное пространство IP-адресов.
Создайте триггер. Когда запрос подписки получает утверждение, передача данных активирует автоматизацию платформы. Лучше всего создать push-уведомление с необходимыми данными из средства сбора данных. Для запуска процесса может потребоваться промежуточный уровень, например Azure Functions или Azure Logic Apps.
Запуск автоматизации платформы
Уведомление и данные из средства сбора данных активируют автоматизацию платформы. Автоматизация платформы создает файл параметров подписки, объединяет файл с главной ветвью и использует модули IaC для развертывания файла для создания подписки. Команда платформы отвечает за поддержку автоматизации платформы. Автоматизация платформы в предыдущем примере реализации состоит из конвейера запросов, управления версиями и конвейера развертывания.
Используйте файлы JSON, YAML или TFVARS. Используйте структурированные файлы данных, такие как JSON, YAML или TFVARS, для хранения данных для создания подписки. Задокументируйте структуру файла и сделайте его расширяемым для поддержки будущих потребностей. Например, следующий фрагмент кода JSON определяет значения параметров подписки для одного из модулей Bicep в GitHub.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionDisplayName": {
"value": "sub-bicep-lz-vending-example-001"
},
"subscriptionAliasName": {
"value": "sub-bicep-lz-vending-example-001"
},
"subscriptionBillingScope": {
"value": "providers/Microsoft.Billing/billingAccounts/1234567/enrollmentAccounts/123456"
},
// Insert more parameters here
}
}
Просмотрите весь файл. Дополнительные примеры см. в примерах Bicep и примерах Terraform.
Используйте один файл для каждого запроса подписки. Подписка служит единицей развертывания в процессе автоматической выдачи подписки, поэтому для каждого запроса требуется отдельный файл параметров подписки.
Это важно
При реализации Terraform используйте отдельный файл состояния для каждой подписки лендинг-зоны приложения. Этот подход увеличивает эффективность операций планирования и применения, а также уменьшает сферу воздействия потенциальных некорректных конфигураций.
Используйте систему запроса на вытягивание. Процесс Gitflow, создающий файл параметров подписки, автоматизирует следующие действия:
- Создайте новую ветвь для каждого запроса подписки.
- Используйте собранные данные для создания одного файла параметров подписки YAML, JSON или TFVARS для новой подписки в ветви.
- Создайте запрос на вытягивание из ветви
mainв . - Обновите средство сбора данных с изменением состояния и ссылкой на этот запрос на вытягивание.
Конвейер запросов в предыдущем примере реализации выполняет следующие действия. Вы также можете использовать решение на основе кода, размещенное в Azure, если рабочий процесс является сложным.
Проверьте параметр подписки или файл переменных. Pull request запускает процесс линтинга, который проверяет данные запроса, чтобы убедиться, что развертывание выполняется успешно. Этот процесс проверяет файл параметров подписки и может также проверить, доступен ли диапазон IP-адресов. Вы можете добавить этап ручной проверки для вмешательства человека. Затем можно выполнить окончательную проверку и внести изменения в файл параметров подписки. Выходные данные — это файл параметров подписки, имеющий все данные, необходимые для создания подписки.
Активируйте конвейер развертывания. Когда запрос на вытягивание объединяется в main ветвь, слияние активирует конвейер развертывания.
Создание подписки
Последняя задача автоматизации подписки — создание и настройка новой подписки. В приведенном выше примере реализация использует конвейер развертывания для развертывания модуля IaC с файлом параметров подписки.
Используйте IaC. Развертывание должно использовать IaC для создания подписки. Команда платформы создает и поддерживает эти шаблоны, чтобы обеспечить надлежащее управление. Используйте модули подписки Bicep и Terraform и измените их в соответствии с потребностями вашей реализации.
Используйте конвейер развертывания. Конвейер развертывания оркеструет создание и настройку новой подписки. Конвейер должен выполнять следующие задачи.
| Категория задач | Задача конвейера |
|---|---|
| Идентичность | • Создайте или обновите ресурсы Microsoft Entra для представления владения подпиской. • Настройка учетных записей с повышенными привилегиями для развертываний команды по рабочей нагрузке. |
| Управление | • Поместите в иерархию групп управления. • Назначьте владельца подписки. • Настройте управление доступом на основе ролей Azure на уровне подписки (Azure RBAC) для правильных групп безопасности. • Назначение политик Azure на уровне подписки. • Настройте регистрацию в Microsoft Defender для облака. |
| Нетворкинг | • Развертывание виртуальных сетей. • Настройте пиринг виртуальных сетей для ресурсов платформы (регионального концентратора). |
| Budgets | • Создайте бюджеты для владельцев подписок с помощью собранных данных. |
| Отчетность | • Обновите внешние системы, такие как IPAM, для подтверждения резервирования IP-адресов. • Обновите запрос на средство сбора данных, указав окончательное имя подписки и глобальный уникальный идентификатор (GUID). • Уведомите команду приложений о готовности подписки. |
Для программного создания подписки требуется коммерческое соглашение. Если у вас нет коммерческого соглашения, необходимо ввести ручной процесс для создания подписки, но вы по-прежнему можете автоматизировать все остальные аспекты конфигурации подписки.
Установите удостоверение рабочей нагрузки. Конвейер развертывания должен иметь разрешение на выполнение этих задач со всеми системами, с которыми он взаимодействует. Используйте управляемое удостоверение или OpenID Connect (OIDC) для проверки подлинности в Azure.
Послеразвертывание
Автоматизация вендинг по подписке заканчивается созданием и настройкой подписки. После создания команда платформы передает новую подписку команде приложений. Затем команда приложений обновляет бюджет подписки, создает ресурсы рабочей нагрузки и развертывает рабочую нагрузку. Команда платформы управляет управлением подпиской и управляет изменениями управления подписками с течением времени.
Принудительное управление затратами. Бюджеты подписки предоставляют уведомления, критически важные для управления затратами. Развертывание создает предварительный бюджет подписки на основе данных запроса подписки. Команда приложений получает подписку и обновляет бюджет в соответствии с потребностями рабочей нагрузки. Дополнительные сведения см. в следующих статьях:
- Создание бюджетов и управление ими
- Управление затратами с помощью бюджетов
- Создание правил распределения затрат Azure и управление ими
- Отслеживание затрат в бизнес-подразделениях, средах или проектах
Управление управлением подпиской. Обновите подписку при изменении требований к управлению рабочей нагрузкой. Например, может потребоваться переместить подписку в другую группу управления. Автоматизация сборочных процессов для некоторых из этих рутинных задач. Дополнительные сведения см. в следующих статьях:
- Перемещение групп управления и подписок
- Поддержание актуальности политик и инициатив политики
- Определение стратегии добавления тегов
- Адаптация архитектуры посадочной зоны Azure в соответствии с требованиями
Дальнейшие шаги
Управление подпиской упрощает и стандартизирует процесс создания подписки и помещает его в управление организацией. Реализуйте автоматизацию продажи подписок, чтобы помочь командам приложений получить доступ к целевым областям приложений и ускорить подключение рабочих нагрузок. Дополнительные сведения см. в следующих ресурсах: