Azure DevTest Labs
Если вкратце, то DevTest Labs представляет собой лабораторию для создания наборов виртуальных машин на базе образов Windows и/или Lunux. Вы можете использовать как множество готовых образов (в том числе из галереи Azure Marketplace), так и загружать свои собственные из VHD файлов.
Вы также можете расширять создаваемые виртуальные машины так называемыми артефактами. Артефакты представляют собой JSON файлы, в которых определенны некоторые кастомные действия выполняющиеся при создании виртуальной машины. Например, артефакт может выступать в роли скрипта для установки внешнего компонента, либо выполнять какое-то конфигурационное действие над виртиальной машиной. По умолчанию, вы получаете доступ к большому набору готовых артефактов из публичного репозитория сообщества DevTest Labs.
Ознакомившись с готовыми примерами, вы сможете создать свой собственный репозиторий с артефактами и подключить его к вашей лаборатории DevTest Labs. В качестве репозитория можно использовать GitHub или VSTS.
Инструмент Formula позволяет создавать реюзабельные конфигурации виртуальных машин, включающие: образ, размер, набор артефактов, параметры сети и тп. Данный подход удобен если вам потребуется частое создание окружения с общими конфигурациями.
DevTest Labs содержит большой набор инструментов для контроля за ресурсами и стоимостью окружений. Кроме поддержки стандартного Azure Role-Based Control (RBAC), вам становятся доступен следующий набор функций:
- Функция автоматического включения/выключения виртуальных машин окружения, позволяет экономить ваши финансы, в периоды времени когда ваше окружение не используется.
- Вы можете устанавливать запреты на размеры и количество создаваемых виртуальных машин ограничения сверху стоимость окружения.
- Virtual Network settings позволяют устанавливать запреты на использования виртуальных сетей и подсетей Azure, а также контролировать создания публичных IP адресов.
- Диаграмма Cost thresholds является достаточно удобным инструментом для мониторинга за текущей и прогнозируемой стоимостью окружения в месяц.
- Вы также можете ограничивать список образов Azure Marketplace, которые могут быть использованы в лаборатории.
Все ресурсы создаваемые в DevTest Labs (кастомые образы, артефакты, образы и тп) являются реюзабельными в пределах подписки, таким образом вы можете их переиспользовать и в ваших других лабораториях.
DevTest Labs полностью поддерживается Azure Resource Manager. Благодаря этому вы можете создавать готовые окружения из ARM шаблонов. Ознакомиться с галереей готовых шаблонов вы можете здесь.
Уже сейчас доступны готовые таски для управления окружениями DevTest Labs в Visual Studio Team Services. Эти таски позволяют создавать, останавливать и запускать окружение во время билда или процесса Release Management.
Кроме этого, управление окружениями DevTest Labs доступно через: Azure PowerShell, REST APIs и .NET SDK. Таким образом, благодаря кастомизации вы сможете интегрировать DevTest Labs в ваши существующие процессы, вне зависимости от выбранной CI системы.
DevTest Labs довольно интересный сервис. В первую очередь он может оказаться полезным командам, которые работают с различными конфигурациями виртуальных машин и заботятся о минимизации расходов на стоимость окружения. DevTest Labs постоянно развивается и обрастает новыми возможностями. Если у вас появятся идеи или пожелания по улучшению данного сервиса, то вы можете написать их в MSDN блог. Вопросы по использованию направляйте сюда.