Windows Azure разработка в облаке и для облака Visual Studio Team Services и DevOps
Windows Azure разработка в облаке и для облакаVisual Studio Team Services и DevOps
Обзор модуляОбзор возможностей Visual Studio Team ServicesСборка и Continuous IntegrationАвтоматизированное тестирование в облакеРазвертывание решений (Continuous Deployment)
Visual Studio Team ServicesЧто такое VSTSVSTS или Team Foundation Server?VSTS и DevOps
Почему VSTS, а не Visual Studio Online?Visual Studio Team Services – новое название Visual Studio OnlineБольше соответствует сути продуктаНе вводит в заблуждение – это не IDE в облаке, как к примеру, Cloud9, а платформа для командной разработки Кстати, Cloud9: https://c9.io/
Обзор Visual Studio Team Services
Visual Studio Team ServicesСервисы для команд разработчиков для совместного доступа к коду, отслеживания прогресса, построения ПО Решение «все в одном» - для любого языка и технологииОтличное дополнение для Вашей IDEНедостающая часть DevOps
Возможности VSTSОблачное решение для командной работы
Система управления исходными кодами (version control)Инструменты для гибких методологийСборка, валидация, развертываниеОткрытая и расширяемая платформаАвтоматизированное тестирование…
Стоимость
Подробнее: https://www.visualstudio.com/pricing/visual-studio-team-services-pricing-vs
Visual Studio Dev EssentialsБесплатные инструменты, облачные сервисы
и тренинги
При регистрации в VSTS
https://www.visualstudio.com/products/
visual-studio-dev-essentials-vs
Visual Studio Dev EssentialsИнструменты
Visual Studio CommunityVisual Studio CodeTeam Foundation Server Express
Облачные сервисыAzure ($25 в месяц на 12 месяцев)*Visual Studio Team Services (5 пользователей)Бесплатный план App Service Бесплатный план HockeyAppБесплатный план Application Insights
Тренинги и поддержкаPluralsight (3 месяца) – ограниченное предложениеОтдельные тренинги Xamarin UniversityWintellectNOW (3 месяца)Microsoft Virtual AcademyHackHands Live Programming Help ($25)Приоритетная поддержка на форуме
Программное обеспечениеSQL Server 2014 Developer EditionParallels Desktop® for Mac Pro Edition (3 месяца)Parallels® Access (3 месяца)Windows Platform VM (60 дней)Office Online Apps
VSTS или TFS?Source controlAgile planning
Test case managementBuild automationContinuous deploymentRelease
managementLoad testing
Lab management
VSTS или TFS?Source controlAgile planning
Test case managementBuild automationContinuous deploymentRelease
managementLoad testing
Lab management
Feedback managementTeam collaborationApplication
telemetry
Кросс-платформенное решение
Интеграция почти с любым инструментом или сервисом
Открытые стандарты (REST, JSON, web hooks, OAuth 2)Практически любые платформы, устройства и сервисы
Открытая и расширяемая платформа
VSTS и DevOps
DevOps Конкретные
рецептыПрактики
Обзор
Люди, Процесс, Бизнес-
ценности, ALM и т.д.
Инфраструктура как код
Azure Deployment
Template - Azure Web App + SQL
DB
Chef Recipe – Linux VM в Azure
Continuous Integration
Visual Studio Team Services (git) + Jenkins
(build)
Github + Team Services +
Gradle
Практики DevOpsИнфраструктура как код (IaC)Continuous IntegrationAutomated TestingContinuous DeploymentУправление выпускомМониторинг производительностиНагрузочное тестирование и автомасштабирование
Мониторинг доступностиУправление емкостьюУправление изменениями/конфигурациейАвтоматический отзыв средыСамообслуживаниеАвтоматическое восстановлениеHypothesis Driven Development
Тестирование на серверах клиентаВнедрение ошибокМониторинг использования / Телеметрия
Подробнее: http://www.itproguy.com/devops-practices/
Сборка проекта и Continuous IntegrationРучная или автоматическая сборка?Сборка проекта в облаке
Ручная сборка проекта
Client Workstations
Source Build
Test
Team Foundation Server
TFVC
OR
GIT
DEV
Continuous Integration
Client Workstations
Source Build
Test
Deploy Environments Monitor and Learn
Team Foundation Server TFV
C
OR
GIT
DEV OPS
Лабораторная работа А: Continuous IntegrationУпражнение 1
Импорт кода в учетную запись VSTSУпражнение 2
Настройка Continuous Integration (CI)Упражнение 3
Проверка работоспособности триггера CI
Расчётное время: 45 минут
Сценарий лабораторной работыУ Вас есть веб-приложение PartsUnlimited – сайт для электронной коммерции, содержащий списки продуктов по категориям, описания продуктов, корзину покупок, историю заказов, рекомендации, поиск и т.п.Вы хотите разместить исходные коды в облаке и настроить VSTS на автоматическую сборку кода Вашего приложения и прогонку юнит-тестов при каждом его изменении.
Еще об облачных билдахВсе просто!Можно также добавить дополнительные задачиМожно расширить возможности, интегрировавшись со внешними сервисами (например, для уведомлений и мониторинга)
REST API (такой же, как у TFS)Service hooks
Trello, Slacks, CampFire…
Больше – в Visual Studio Marketplacehttps://marketplace.visualstudio.com/vsts
Автоматизированное тестирование и Continuous DeploymentТестирование в облакеРазвертывание решений в облаке
Testing Software
Автоматизированное тестирование
Зачем?Ускорение развертыванияПовторяемостьОптимизация процессаЧастые релизы
DEV OPS
X
Вспоминаем – виды тестовЮнит-тестыИнтеграционныеТесты пользовательского интерфейса (UX)Тесты производительности / НагрузочныеПользовательские (ручные)
ДЕМОРезультаты облачных юнит-тестов нашего проекта
DEV OPS
SOURCE REPO DEV
Continuous Deployment (СD)
Зачем?Оптимизация процессаУскорение развертывания
Как настроить для облачного билда
DEV OPS
EnvironmentsDeploy
CI и CD для веб-приложений Azure
Client Workstations
Source Build
Test
Monitor and Learn
cspkg
GIT
PaaS – Web App
cspkg
cspkg
CI и CD для веб-приложений Azure
Лабораторная работа B: Continuous DeliveryУпражнение 1
Донастройка билда для развертывания в AzureУпражнение 2
Настройка связи между VSTS и AzureУпражнение 3
Настройка релизов в AzureУпражнение 4
Проверка работоспособности триггера релиза
Расчётное время: 45 минут
Сценарий лабораторной работыУ Вас есть веб-приложение PartsUnlimited, исходные коды которого находятся в облаке. Для них настроен CI, что позволяет автоматически собирать проект при каждом изменении и прогонять юнит-тесты.Теперь Вы хотите настроить CD для автоматического развертывания приложения в Azure Web App (в слот dev с возможностью клонирования в staging и production).
Вопросы и ответыРекомендации
Azure постоянно развивается, поэтому некоторые диалоговые окна могут завтра выглядеть не так, как вчера.Утверждение релизов – хороший способ контроля за развертыванием
ВопросыКакие основные возможности предоставляет VSTS?Каковы ограничения бесплатной учетной записи VSTS?В чем состоят основные идеи CI и CD?Каким образом можно расширить возможности CI в VSTS?