2. TechExpert Company
DevOps and Azure
▪ Обзор возможностей
Visual Studio Team Services
▪ Сборка и Continuous Integration
▪ Автоматизированное тестирование в
облаке
▪ Развертывание решений (Continuous
Deployment)
ЦЕЛИ ВЕБИНАРА
3. TechExpert Company
DevOps and Azure
▪ 20532В: Developing Microsoft Azure Solutions
▪ 20535E: Architecting Microsoft Azure Solutions
▪ MVA: Enabling DevOps Practices with Visual
Studio Online Build
▪ edX DEV212x Intro to DevOps by Microsoft
Learning
ДОПОЛНИТЕЛЬНОЕ ОБУЧЕНИЕ
Полный перечень официальных тренингов и сертификационных экзаменов
Microsoft доступен по адресу: http://www.microsoft.com/learning/
4. TechExpert Company
DevOps and Azure
О ЧЕМ ПОЙДЕТ РЕЧЬ
I. Возможности VSTS
II. Сборка и Continuous Integration.
Автоматизированное тестирование в облаке
III. Развертывание решений и Continous
Deployment
5. TechExpert Company
DevOps and Azure
Visual Studio Team Services
• Что такое VSTS
• VSTS или Team Foundation Server?
• VSTS и DevOps
6. TechExpert Company
DevOps and Azure
▪ Visual Studio Team Services –
новое название Visual Studio
Online
▪ Больше соответствует сути
продукта
▪ Не вводит в заблуждение – это
не IDE в облаке, как к примеру,
Cloud9, а платформа для
командной разработки
Почему VSTS, а не Visual Studio Online?
7. TechExpert Company
DevOps and Azure
▪ Cloud 9 (AWS)
http://c9.io
▪ Codenvy* (Eclipse Che)
https://codenvy.com/
▪ Azure App Service Editor
(VS “Monaco”)
https://microsoft.github.io/monaco-editor/
Кстати, об онлайновых IDE
10. TechExpert Company
DevOps and Azure
▪ Сервисы для команд разработчиков для
совместного доступа к коду, отслеживания
прогресса, построения ПО
▪ Решение «все в одном» - для любого языка
и технологии
▪ Отличное дополнение для Вашей IDE
▪ Недостающая часть DevOps
Что такое VSTS
11. TechExpert Company
DevOps and Azure
Облачное решение для командной работы
– Система управления исходными кодами (Git, TFVS)
– Инструменты для гибких методологий
– Сборка, валидация, развертывание
– Открытая и расширяемая платформа
– Автоматизированное тестирование
– …
Возможности - коротко
19. TechExpert Company
DevOps and Azure
Бесплатные инструменты, облачные сервисы и тренинги
Visual Studio Dev Essentials
При регистрации в VSTS
https://www.visualstudio.com/products/
visual-studio-dev-essentials-vs
20. TechExpert Company
DevOps and Azure
Инструменты
– Visual Studio Community
– Visual Studio Code
– Team Foundation Server Express
Облачные сервисы
– Azure ($25 в месяц на 12 месяцев)*
– Visual Studio Team Services (5 пользователей)
– Бесплатный план App Service
– Бесплатный план HockeyApp
– Бесплатный план Application Insights
Тренинги и поддержка
– Pluralsight (3 месяца) – ограниченное предложение
– Отдельные тренинги Xamarin University
– WintellectNOW (3 месяца)
– Microsoft Virtual Academy
– HackHands Live Programming Help ($25)
– Приоритетная поддержка на форуме
Visual Studio Dev Essentials
Программное обеспечение
– SQL Server 2014 Developer Edition
– Parallels Desktop® for Mac Pro
Edition (3 месяца)
– Parallels® Access (3 месяца)
– Windows Platform VM (60 дней)
– Office Online Apps
25. TechExpert Company
DevOps and Azure
“We believe GitHub needs to
remain an open platform for all
developers. No matter your
language, stack, platform,
cloud, or license, GitHub will
continue to be your home—the
best place for software
creation, collaboration, and
discovery”
The future of software
development is bright and I’m
thrilled to be joining forces
with Microsoft to help make it
a reality.”
https://blog.github.com/2018-06-04-github-microsoft/
Кстати о Git и Github
30. TechExpert Company
DevOps and Azure
DevOps
Конкретные
рецепты
Практики
Обзор
Люди, Процесс,
Бизнес-ценности,
ALM и т.д.
Инфраструктура
как код
Azure Deployment
Template - Azure
Web App + SQL DB
Chef Recipe –
Linux VM в Azure
Continuous
Integration (CI)
Visual Studio Team
Services (git) +
Jenkins (build)
Github + Team
Services + Gradle
31. TechExpert Company
DevOps and Azure
Концепция CI
1. Исходные коды
«закомичены»
разработчиками
2. Решение собрано билд-
сервером и получен релиз
3. Тестировщики
(автоматически и
вручную) валидируют
релиз
4. Релиз отправляется в
продакшн и становится,
отправной точкой для
новой работы
32. TechExpert Company
DevOps and Azure
Continuous Deployment
Continuous Integration (CI)
• Изменения в коде часто попадают а основную ветвь
с использованием автоматической сборки и
тестирования
Continuous Delivery (CD)
• Изменения в коде, которые собраны и успешно
протестированы, могут автоматически
публиковаться в тестовую или промежуточную
среду, имитирующую продакшн
Continuous Deployment
• Изменения в коде, прошедшие процессы CI и CD,
автоматически разворачиваются в продакшн
33. TechExpert Company
DevOps and Azure
Инфраструктура как код (IaC)
Continuous Integration
Automated Testing
Continuous Deployment
Управление выпуском
Мониторинг производительности
Нагрузочное тестирование
и автомасштабирование
Практики DevOps
Мониторинг доступности
Управление емкостью
Управление
изменениями/конфигурацией
Автоматический отзыв среды
Самообслуживание
Автоматическое восстановление
Hypothesis Driven Development
Тестирование на серверах клиента
Внедрение ошибок
Мониторинг использования / Телеметрия
http://www.itproguy.com/devops-practices/
34. TechExpert Company
DevOps and Azure
Сборка проекта
и Continuous Integration
• Ручная или автоматическая сборка?
• Сборка проекта в облаке
40. TechExpert Company
DevOps and Azure
▪ Все просто!
▪ Можно добавить дополнительные
задачи
▪ Можно расширить возможности,
интегрировавшись со внешними
сервисами (например, для
уведомлений и мониторинга)
– REST API (такой же, как у TFS)
– Service hooks
– Trello, Slacks, CampFire…
▪ Больше – в Visual Studio
Marketplace
Еще об облачных билдах
41. TechExpert Company
DevOps and Azure
Автоматизированное тестирование и
Continuous Deployment
• Тестирование в облаке
• Развертывание решений в облаке
43. TechExpert Company
DevOps and Azure
▪ Юнит-тесты
▪ Интеграционные
▪ Тесты пользовательского интерфейса (UX)
▪ Тесты производительности / Нагрузочные
▪ Пользовательские (ручные)
Вспоминаем – виды тестов
44. TechExpert Company
DevOps and Azure
DevTest Labs
• Гибкие процессы разработки в Azure
• Быстрое предоставление
• Автоматизация
• Самообслуживание
• Контроль стоимости
• Управляемость
• Киллер-фича☺
• Поминутный биллинг для инфраструктуры
• Интегрировано с MSDN benefits
• Снижение стоимости
45. TechExpert Company
DevOps and Azure
Developer Labs
• Быстрое развертывание
машин для разработки по
запросу
• Легкая кастомизация
машин при необходимости
• Контроль стоимости со
стороны администраторов:
• Разработчики не могут
развернуть больше
машин, чем им нужно
• Машины выключаются,
когда не используются
46. TechExpert Company
DevOps and Azure
Test Labs
• Тестировщики могут тестировать последние версии
приложений на быстро предоставленных Windows и
Linux машинах
• Тестировщики могут масштабировать нагрузочные
тесты, предоставив больше тест-агентов
• Администраторы могут контроллировать стоимость:
• Тестировщики не получат больше машин, чем им нужно
• Машины выключаются, когда не используются
47. TechExpert Company
DevOps and Azure
Visual Studio Team Services CI/CD Integration
• Azure DevTest Labs Tasks VSTS Extension
• Устанавливается Visual Studio Marketplace
• Позволяет:
• Создавать виртуальные машины
• Создавать собственные образы машин
• Удалять машины
50. TechExpert Company
DevOps and Azure
EnvironmentsDeploy
CI и CD для веб-приложений Azure
Source Build
Test
Monitor and Learn
cspkg
PaaS – Web App
cspkg
56. TechExpert Company
DevOps and Azure
Развертывание шаблонов ARM
• Через портал
https://portal.azure.com/#create/Microsoft.Template
• По ссылке
https://portal.azure.com/#create/Microsoft.Template/uri
/[URL encoded URI to ARM Template]
62. TechExpert Company
DevOps and Azure
Примеры
Storage Account ARM Template на GitHub:
https://github.com/Azure/azure-quickstart-templates/blob/master/101-
storage-account-create/azuredeploy.json
URI на сам файл
https://raw.githubusercontent.com/Azure/azure-quickstart-
templates/master/101-storage-account-create/azuredeploy.json
URL-encoded URI
https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-
quickstart-templates%2Fmaster%2F101-storage-account-
create%2Fazuredeploy.json%0A
URL для развертывания через портал
https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fr
aw.githubusercontent.com%2FAzure%2Fazure-quickstart-
templates%2Fmaster%2F101-storage-account-create%2Fazuredeploy.json
64. TechExpert Company
DevOps and Azure
ВОПРОСЫ И ОТВЕТЫ
Рекомендации
– Azure постоянно развивается, поэтому завтра все может
выглядеть не так, как вчера☺
– Утверждение релизов – хороший способ контроля за
развертыванием
Вопросы
1. Какие основные возможности предоставляет VSTS?
2. Каковы ограничения бесплатной учетной записи VSTS?
3. В чем состоят основные идеи CI и CD?
4. Каким образом можно расширить возможности CI в
VSTS?