Top Banner
Windows Azure разработка в облаке и для облака Visual Studio Team Services и DevOps
34

Azure - Visual Studio Team Services

Jan 07, 2017

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Azure - Visual Studio Team Services

Windows Azure разработка в облаке и для облакаVisual Studio Team Services и DevOps

Page 2: Azure - Visual Studio Team Services

Обзор модуляОбзор возможностей Visual Studio Team ServicesСборка и Continuous IntegrationАвтоматизированное тестирование в облакеРазвертывание решений (Continuous Deployment)

Page 3: Azure - Visual Studio Team Services

Visual Studio Team ServicesЧто такое VSTSVSTS или Team Foundation Server?VSTS и DevOps

Page 4: Azure - Visual Studio Team Services

Почему VSTS, а не Visual Studio Online?Visual Studio Team Services – новое название Visual Studio OnlineБольше соответствует сути продуктаНе вводит в заблуждение – это не IDE в облаке, как к примеру, Cloud9, а платформа для командной разработки Кстати, Cloud9: https://c9.io/

Page 5: Azure - Visual Studio Team Services

Обзор Visual Studio Team Services

Page 6: Azure - Visual Studio Team Services

Visual Studio Team ServicesСервисы для команд разработчиков для совместного доступа к коду, отслеживания прогресса, построения ПО Решение «все в одном» - для любого языка и технологииОтличное дополнение для Вашей IDEНедостающая часть DevOps

Page 7: Azure - Visual Studio Team Services

Возможности VSTSОблачное решение для командной работы

Система управления исходными кодами (version control)Инструменты для гибких методологийСборка, валидация, развертываниеОткрытая и расширяемая платформаАвтоматизированное тестирование…

Page 8: Azure - Visual Studio Team Services

Стоимость

Подробнее: https://www.visualstudio.com/pricing/visual-studio-team-services-pricing-vs

Page 9: Azure - Visual Studio Team Services

Visual Studio Dev EssentialsБесплатные инструменты, облачные сервисы

и тренинги

При регистрации в VSTS

https://www.visualstudio.com/products/

visual-studio-dev-essentials-vs

Page 10: Azure - Visual Studio Team Services

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

Page 11: Azure - Visual Studio Team Services

VSTS или TFS?Source controlAgile planning

Test case managementBuild automationContinuous deploymentRelease

managementLoad testing

Lab management

Page 12: Azure - Visual Studio Team Services

VSTS или TFS?Source controlAgile planning

Test case managementBuild automationContinuous deploymentRelease

managementLoad testing

Lab management

Feedback managementTeam collaborationApplication

telemetry

Page 13: Azure - Visual Studio Team Services

Кросс-платформенное решение

Page 14: Azure - Visual Studio Team Services

Интеграция почти с любым инструментом или сервисом

Открытые стандарты (REST, JSON, web hooks, OAuth 2)Практически любые платформы, устройства и сервисы

Открытая и расширяемая платформа

Page 15: Azure - Visual Studio Team Services

VSTS и DevOps

Page 16: Azure - Visual Studio Team Services

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

Page 17: Azure - Visual Studio Team Services

Практики DevOpsИнфраструктура как код (IaC)Continuous IntegrationAutomated TestingContinuous DeploymentУправление выпускомМониторинг производительностиНагрузочное тестирование и автомасштабирование

Мониторинг доступностиУправление емкостьюУправление изменениями/конфигурациейАвтоматический отзыв средыСамообслуживаниеАвтоматическое восстановлениеHypothesis Driven Development

Тестирование на серверах клиентаВнедрение ошибокМониторинг использования / Телеметрия

Подробнее: http://www.itproguy.com/devops-practices/

Page 18: Azure - Visual Studio Team Services

Сборка проекта и Continuous IntegrationРучная или автоматическая сборка?Сборка проекта в облаке

Page 19: Azure - Visual Studio Team Services

Ручная сборка проекта

Client Workstations

Source Build

Test

Team Foundation Server

TFVC

OR

GIT

DEV

Page 20: Azure - Visual Studio Team Services

Continuous Integration

Client Workstations

Source Build

Test

Deploy Environments Monitor and Learn

Team Foundation Server TFV

C

OR

GIT

DEV OPS

Page 21: Azure - Visual Studio Team Services

Лабораторная работа А: Continuous IntegrationУпражнение 1

Импорт кода в учетную запись VSTSУпражнение 2

Настройка Continuous Integration (CI)Упражнение 3

Проверка работоспособности триггера CI

Расчётное время: 45 минут

Page 22: Azure - Visual Studio Team Services

Сценарий лабораторной работыУ Вас есть веб-приложение PartsUnlimited – сайт для электронной коммерции, содержащий списки продуктов по категориям, описания продуктов, корзину покупок, историю заказов, рекомендации, поиск и т.п.Вы хотите разместить исходные коды в облаке и настроить VSTS на автоматическую сборку кода Вашего приложения и прогонку юнит-тестов при каждом его изменении.

Page 23: Azure - Visual Studio Team Services

Еще об облачных билдахВсе просто!Можно также добавить дополнительные задачиМожно расширить возможности, интегрировавшись со внешними сервисами (например, для уведомлений и мониторинга)

REST API (такой же, как у TFS)Service hooks

Trello, Slacks, CampFire…

Больше – в Visual Studio Marketplacehttps://marketplace.visualstudio.com/vsts

Page 24: Azure - Visual Studio Team Services

Автоматизированное тестирование и Continuous DeploymentТестирование в облакеРазвертывание решений в облаке

Page 25: Azure - Visual Studio Team Services

Testing Software

Автоматизированное тестирование

Зачем?Ускорение развертыванияПовторяемостьОптимизация процессаЧастые релизы

DEV OPS

X

Page 26: Azure - Visual Studio Team Services

Вспоминаем – виды тестовЮнит-тестыИнтеграционныеТесты пользовательского интерфейса (UX)Тесты производительности / НагрузочныеПользовательские (ручные)

Page 27: Azure - Visual Studio Team Services

ДЕМОРезультаты облачных юнит-тестов нашего проекта

Page 28: Azure - Visual Studio Team Services

DEV OPS

SOURCE REPO DEV

Continuous Deployment (СD)

Зачем?Оптимизация процессаУскорение развертывания

Page 29: Azure - Visual Studio Team Services

Как настроить для облачного билда

Page 30: Azure - Visual Studio Team Services

DEV OPS

EnvironmentsDeploy

CI и CD для веб-приложений Azure

Client Workstations

Source Build

Test

Monitor and Learn

cspkg

GIT

PaaS – Web App

cspkg

cspkg

Page 31: Azure - Visual Studio Team Services

CI и CD для веб-приложений Azure

Page 32: Azure - Visual Studio Team Services

Лабораторная работа B: Continuous DeliveryУпражнение 1

Донастройка билда для развертывания в AzureУпражнение 2

Настройка связи между VSTS и AzureУпражнение 3

Настройка релизов в AzureУпражнение 4

Проверка работоспособности триггера релиза

Расчётное время: 45 минут

Page 33: Azure - Visual Studio Team Services

Сценарий лабораторной работыУ Вас есть веб-приложение PartsUnlimited, исходные коды которого находятся в облаке. Для них настроен CI, что позволяет автоматически собирать проект при каждом изменении и прогонять юнит-тесты.Теперь Вы хотите настроить CD для автоматического развертывания приложения в Azure Web App (в слот dev с возможностью клонирования в staging и production).

Page 34: Azure - Visual Studio Team Services

Вопросы и ответыРекомендации

Azure постоянно развивается, поэтому некоторые диалоговые окна могут завтра выглядеть не так, как вчера.Утверждение релизов – хороший способ контроля за развертыванием

ВопросыКакие основные возможности предоставляет VSTS?Каковы ограничения бесплатной учетной записи VSTS?В чем состоят основные идеи CI и CD?Каким образом можно расширить возможности CI в VSTS?