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