Обзор Azure Resource Manager

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Обзор инфраструктуры как кода

  • IaC — это архитектурный чертёж вашего облака
  • Чертёж описывает полную структуру, а не ежедневные инструкции
  • Код используется не внутри приложения, а для определения:
    • Из каких сервисов состоит приложение
    • Как настроен каждый сервис

Инфраструктура как код

Azure API Management

Развёртывание IaC

  • Написанный код IaC можно запустить для развёртывания всей среды
  • Настраивать каждый сервис вручную не нужно
  • Развёртывание становится быстрее, воспроизводимее и надёжнее

Развёртывание IaC

Azure API Management

Введение в шаблоны ARM

  • В Azure есть несколько способов реализовать IaC
  • Шаблоны ARM — классический механизм
  • Они основаны на JSON
  • Обеспечивают согласованное развёртывание ресурсов в разных средах
  • Поддерживают воспроизводимость и автоматизацию

Раздел меню автоматизации

Azure API Management

Создание шаблонов ARM

Экспорт шаблона ARM

  • Новые сервисы можно создавать на основе существующих

    • Как снять слепок здания, чтобы воссоздать его в другом месте
  • На портале Azure:

    • Откройте экземпляр APIM -> раздел Automation script или Export template
    • Портал собирает текущую конфигурацию (настройки, API, политики, подключения)
    • Формирует загружаемый JSON-файл и файл параметров
  • Измените конфигурации, переименуйте и выполните повторное развёртывание

Azure API Management

Структура шаблона ARM

  • Шаблон ARM — это JSON с определённой структурой
  • Можно представить его как план-схему вашей среды

  • Раздел Resources = основной план

    • Перечисляет всё, что нужно создать (например, сервис APIM, API, продукты, политики)
    • Каждый ресурс имеет тип, версию API и свойства
  • Остальные разделы шаблона расширяют возможности

Структура шаблона ARM

Azure API Management

Параметры и переменные шаблона ARM

Параметры и переменные шаблона ARM

  • Параметры — как пустые поля в форме

    • Заполняются при развёртывании (имя APIM, регион, SKU, данные издателя)
  • Переменные — как черновик

    • Вспомогательные значения для поддержания структуры шаблона
    • Примеры: объединение имён сред, формирование идентификаторов ресурсов, устранение дублирования
    • Делают шаблоны читаемее и безопаснее при изменении
Azure API Management

Выходные данные шаблона ARM

  • Выходные данные (outputs) не обязательны
  • Это как квитанция, которую вы получаете после развёртывания
  • Содержат полезные значения: URL шлюза, идентификаторы ресурсов
  • Позволяют другим скриптам в цепочке развёртывания использовать эти значения

Выходные данные шаблона ARM

Azure API Management

Давайте потренируемся!

Azure API Management

Preparing Video For Download...