M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Почему команды Azure отказываются от шаблонов ARM в пользу Bicep

By ·

Добро пожаловать обратно в блог-спутник подкаста! В нашем последнем выпуске подкаста мы подробно разобрали практические реалии развёртывания современной облачной инфраструктуры, уделив основное внимание тому, почему инженерные команды быстро отходят от устаревших форматов описания ресурсов…

Automatically translated with AI from the original post. Read the English original

Добро пожаловать обратно в блог-спутник подкаста! В нашем последнем выпуске подкаста мы подробно разобрали практические реалии развёртывания современной облачной инфраструктуры, уделив основное внимание тому, почему инженерные команды быстро отходят от устаревших форматов описания ресурсов. Если вы хоть раз бессмысленно смотрели на огромный, глубоко вложенный JSON-файл и пытались понять, почему развёртывание в облаке завершилось ошибкой, вы уже знаете, какие мучения приносят традиционные шаблоны Azure Resource Manager. К счастью, Microsoft представила современное решение, удобное для разработчиков, которое кардинально меняет правила игры: Azure Bicep.

В этом подробном руководстве мы развернём основные идеи, которые рассматривались в нашем выпуске: почему команды Azure отказываются от шаблонов ARM, как Bicep меняет подход к инфраструктуре как код (IaC) и как внедрить эти современные основы в ваши собственные производственные проекты. Чтобы глубже вникнуть в аудиообсуждение, обязательно посмотрите связанный выпуск подкаста Azure Bicep Fundamentals for Production Projects.

Обзор Azure Bicep

Bicep и шаблоны ARM: сравнение

Azure Bicep — это доменно-ориентированный язык с открытым исходным кодом, разработанный Microsoft для декларативного развёртывания ресурсов Azure. Он выступает прозрачным слоем абстракции над шаблонами Azure Resource Manager (ARM). При компиляции файла Bicep он аккуратно преобразуется в стандартные шаблоны ARM на основе JSON, а значит, вы получаете всю мощь и надёжность нижележащей плоскости управления Azure без необходимости писать и поддерживать сырой JSON.

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

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

Ещё одно важное отличие — модульность. В Bicep каждый отдельный файл по умолчанию является повторно используемым модулем. Это делает разбиение монолитных развёртываний инфраструктуры на управляемые, небольшие компоненты интуитивно понятным. Кроме того, Bicep предлагает интеллектуальное управление зависимостями. Шаблоны ARM часто требуют ручной настройки отслеживания зависимостей с помощью громоздкого свойства «dependsOn», тогда как Bicep автоматически определяет неявные зависимости на основе символических имён, что обеспечивает более быстрые и эффективные параллельные развёртывания.

ХарактеристикаAzure BicepШаблоны ARM
СинтаксисМенее многословный, легче читаетсяБолее многословный, труднее воспринимается
Снижение количества ошибокМеньше ошибок благодаря читаемостиБолее подвержены ошибкам
Управление зависимостямиЗависимости обрабатываются автоматическиРучное управление зависимостями
Скорость развёртыванияПоддержка параллельных развёртыванийПоследовательные развёртывания
Повторное использованиеРасширено за счёт модулейОграниченное повторное использование

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

Преимущества основ Azure Bicep

Упрощённый синтаксис

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

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

Управление и соответствие требованиям

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

Ключевые возможности управления включают:

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

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

Начало работы с Bicep

Настройка среды

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

  1. Установите Azure Bicep CLI, который отвечает за компиляцию файлов Bicep в стандартные шаблоны ARM.
  2. Установите Azure CLI или модуль Azure PowerShell для выполнения развёртываний в ваших подписках Azure.
  3. Установите Visual Studio Code вместе с официальным расширением Bicep, которое предоставляет отличные возможности: подсветку синтаксиса, IntelliSense, автодополнение и проверку типов ресурсов.

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

Написание первого файла Bicep

Теперь, когда среда разработки полностью подготовлена, давайте пройдём краткое руководство по созданию и развёртыванию вашего первого файла Bicep.

  1. Сначала создайте отдельную группу ресурсов с помощью Azure CLI в терминале:

    az group create --name ExampleGroup --location "Central US"
  2. Откройте Visual Studio Code, создайте новый файл с именем main.bicep и опишите простой ресурс учётной записи хранения, используя понятный синтаксис Bicep:

    resource storageAccount 'Microsoft.Storage/storageAccounts@2021-04-01' = {
      name: 'examplestoracc'
      location: resourceGroup().location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
  3. Разверните только что созданный файл Bicep в Azure с помощью следующей команды развёртывания Azure CLI:

    az deployment group create \
      --name ExampleDeployment \
      --resource-group ExampleGroup \
      --template-file main.bicep
  4. Отслеживайте состояние подготовки ресурсов, пока в выходных данных развёртывания не появится признак успешного завершения.

Этот простой процесс показывает, насколько понятным и эффективным может быть подготовка инфраструктуры при использовании скриптов Bicep.

Практическое применение Azure Bicep

Practical Applications of Azure Bicep

Развёртывание ресурсов Azure

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

Распространённые шаблоны развёртывания включают:

  • Веб-приложения: подготовка многоуровневых веб-решений, включающих планы App Service, серверные базы данных SQL и Application Gateway, в рамках одного согласованного развёртывания.
  • Архитектуры микросервисов: динамическое развертывание распределенных контейнерных приложений и кластеров Kubernetes с автоматической настройкой сети.
  • Эфемерные среды: по запросу развертывание изолированных сред для тестирования и предпродуктивной среды (staging) для проверки конвейеров CI/CD, а затем так же быстрое их удаление.

Интеграция CI/CD

Инфраструктура как код раскрывает свой настоящий потенциал, когда интегрирована непосредственно в автоматизированные конвейеры непрерывной интеграции и непрерывной доставки (CI/CD). Комбинируя Azure Bicep с такими инструментами, как GitHub Actions или Azure DevOps, вы можете автоматизировать процессы подготовки ресурсов и гарантировать полную согласованность сред.

Ключевые стратегии интеграции включают:

  • Хранение всех файлов Bicep в репозиториях с контролем версий, чтобы отслеживать каждое изменение инфраструктуры.
  • Внедрение автоматических этапов линтинга и проверки перед слиянием запросов на включение изменений (pull request).
  • Использование Azure Verified Modules (AVM) для стандартизации развертываний и автоматического применения корпоративных требований безопасности.

Лучшие практики для Bicep

Организация файлов Bicep

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

Создание переиспользуемых модулей

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

Распространенные ошибки в Bicep

Неправильные конфигурации

Даже с такими продвинутыми инструментами, как Bicep, инженеры могут попасть в распространенные ловушки конфигурации, если игнорировать лучшие практики. Частые ошибки включают жесткое прописывание паролей или строк подключения с конфиденциальными данными прямо в исходном коде, использование слабых соглашений об именовании или оставление чрезмерно широких назначений RBAC (управления доступом на основе ролей).

Чтобы снизить эти риски безопасности, придерживайтесь следующих корпоративных практик:

  1. Никогда не храните секреты в системе контроля версий; всегда безопасно обращайтесь к секретам через Azure Key Vault.
  2. Используйте управляемые удостоверения, назначаемые системой, для аутентификации вместо встраивания долгоживущих учетных данных.
  3. Применяйте принцип наименьших привилегий во всех определениях RBAC и политиках доступа.
  4. Используйте Private Endpoint для чувствительных хранилищ данных, чтобы не открывать публичные IP-адреса.
  5. Обеспечивайте непрерывный контроль соответствия требованиям с помощью интеграции Azure Policy.

Зависимости ресурсов

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


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

Чтобы услышать полное обсуждение и экспертные советы по внедрению этих практик в производственной среде, обязательно послушайте сопутствующий выпуск «Azure Bicep Fundamentals for Production Projects».

>ლო

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

Часто задаваемые вопросы

Что такое Azure Bicep?

Azure Bicep — это предметно-ориентированный язык для декларативного развёртывания ресурсов Azure. По сравнению с традиционными шаблонами ARM он упрощает работу благодаря более понятному синтаксису и улучшенной модульности.

Как установить Azure Bicep?

Установить Azure Bicep можно через Azure CLI, выполнив команду az bicep install, или скачав Bicep CLI напрямую вместе с Visual Studio Code.

Можно ли использовать Bicep с существующими шаблонами ARM?

Да! Bicep компилируется непосредственно в стандартные шаблоны ARM, а существующие шаблоны ARM можно легко подключать к модулям Bicep, что упрощает постепенную миграцию.

Что такое модули Bicep?

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

Как Bicep обрабатывает зависимости ресурсов?

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

Подходит ли Bicep для крупномасштабных развёртываний?

Безусловно. Bicep создан специально для крупномасштабных облачных сред: модульная архитектура и файлы параметров позволяют эффективно управлять сложной инфраструктурой предприятия.

Можно ли использовать Bicep в конвейерах CI/CD?

Да, Bicep легко интегрируется с инструментами автоматизации, такими как GitHub Actions и Azure Pipelines. Это позволяет автоматизировать развёртывание и поддерживать согласованные состояния инфраструктуры.

Где найти дополнительные материалы по Azure Bicep?

Можно изучить официальную документацию Microsoft, сообщества и репозитории на GitHub, а также тематические выпуски на таких платформах, как M365 FM, для постоянного обучения и знакомства с лучшими практиками.


🎧 Слушайте этот выпуск

Хотите практическое объяснение темы Azure Bicep Fundamentals for Production Projects? В этом выпуске тема разобрана понятным языком и показано, почему она важна для Microsoft 365, Azure, Power Platform, безопасности, ИИ и современной работы.

Слушайте этот выпуск, если хотите:

  • Понять ключевые концепции Azure Bicep Fundamentals for Production Projects
  • Увидеть, как это вписывается в более широкую экосистему технологий Microsoft
  • Узнать, где это может принести практическую пользу вашей организации

Вам также могут понравиться связанные выпуски M365 FM:

Больше практических бесед о Microsoft на M365 FM.

Последняя проверка: июль 2026.

Кому стоит послушать

Этот выпуск рассчитан на специалистов Microsoft, архитекторов, разработчиков, сотрудников по безопасности и ИТ-руководителей, которые оценивают эту тему в реальных условиях.

🎧 Также рекомендуем послушать

  • Bicep — логичный следующий шаг, который добавляет практического контекста к этой теме.
  • Infrastructure as Code — логичный следующий шаг, который добавляет практического контекста к этой теме.
  • Azure Resource Manager — логичный следующий шаг, который добавляет практического контекста к этой теме.

Entities in this article

Bicep JSON Azure Resource Manager Infrastructure as code Azure CLI Microsoft Compliance Governance Azure Policy Cognitive load

Related articles

RSS