Azure DevTest Labs

Трохи більше місяця тому публічну доступність отримав DevTest Labs - новий сервіс Microsoft Azure для створення хмарних оточень розробки і тестування.


Якщо коротко, DevTest Labs є лабораторією для створення наборів віртуальних машин на базі образів Windows і/або Lunux. Ви можете використовувати як безліч готових образів (у тому числі з галереї Azure Marketplace), так і завантажувати свої власні з VHD файлів.

Ви також можете розширювати створювані віртуальні машини так званими артефактами. Артефакти представляють собою JSON файли, в яких визначено деякі кастомні дії, що виконуються при створенні віртуальної машини. Наприклад, артефакт може виступати в ролі скрипту для встановлення зовнішнього компонента, або виконувати якусь конфігураційну дію над віртіальною машиною. Типово, ви отримуєте доступ до великого набору готових артефактів з публічного сховища спільноти DevTest Labs.

Ознайомившись з готовими прикладами, ви зможете створити свій власний репозитарій з артефактами і підключити його до вашої лабораторії DevTest Labs. Як сховище можна використовувати GitHub або VSTS.

За допомогою інструмента... ви можете створювати реюзабельні налаштування віртуальних машин: образ, розмір, набір артефактів, параметри мережі і тп. Цей підхід корисний, якщо вам знадобиться часте створення середовища з загальними конфігураціями.

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 блог. Питання щодо використання направляйте сюди.