Миграция существующих приложений в windows...

45
Миграция существующих приложений в Windows Azure Ефимцева Наталия [email protected] @nefimtseva

Upload: others

Post on 07-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Миграция существующих

приложений в Windows Azure

Ефимцева Наталия

[email protected]

@nefimtseva

Page 2: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Почему Windows Azure?

• Подходы к миграции

• Миграция в PaaS

• Миграция в IaaS

• Миграция PaaS + IaaS

Темы

Page 3: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Почему Windows Azure?

Page 4: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Платите за то,

что используете.

Page 5: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Сценарии

для

облака

Page 6: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

99.95% SLA (в месяц)

Page 7: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик
Page 8: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Вычислительные

мощности

Microsoft

по всему миру

Page 9: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Дополнительные

сервисы

Page 10: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Приложение и бизнес-задача

Page 11: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Миграция: облачные службы Windows Azure (PaaS)

на примере ASP.NET приложения

Page 12: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Место для запуска ваших приложений…

Windows Azure: типовая архитектура решения PaaS

Web-роль - преконфигурированная виртуальная

машина с настроенным IIS

Worker-роль – код не относящийся к веб, бэкенд для приложений

Вы можете подключаться к вашими ролям, это

просто виртуальные машины

Вы просто размещаете свой код и файлы, а Windows Azure запускает VM, устанавливает и запускает код для вас. Балансировщик нагрузки

работает с несколькими экземплярами

Page 13: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Демо

Page 14: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Сохранение сессий в Windows Azure: stateless На клиенте (куки) или на серверной стороне (SQL Database, Windows Azure Storage, Windows Azure Caching)

Page 15: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Локальное хранилище экземпляра является временным

• Централизованное масштабируемое хранилище - Windows Azure Storage

• Надежность: локальная и гео-репликация

• CND (сеть кэширующих серверов)

• Ограничение доступа: SAS (Shared Access Signature)

• Универсальность: REST сервис

• Масштабируемость до петабайт

• Типичная загрузка файлов в ASP.NET - File Upload Control

Работ с файлами и хранилищем Windows Azure Table Storage, Windows Azure BLOB Storage

Page 16: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Облачное реляционное хранилище с высокой доступностью (SLA 99,9%) и избыточностью (3 реплики)

SQL Database

Облачное реляционное хранилище

основанное на SQL Server

SQL Server - это cервер

SQL Database - это TDS Endpoint

Используйте те же инструменты, фреймворки для

доступа к данным, язык T-SQL

Дата-центры по всему миру

Высокая доступность & Избыточность

Чтение производится из primary БД

Записи реплицируются во вторичные реплики

Page 17: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Прямая миграция

• T-SQL код в T-SQL

• Комбинированная миграция

• SQL Database

• Windows Azure Table Storage и Windows Azure BLOB Storage

• Шардирование (для БД > 150 Гб)

• SQL Database Federations

• SQL Data Sync Service

• Код – логика повторов (retry logic)

Работа с реляционными данными (SQL Database)

Page 18: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Инструменты миграции

Инструмент Схема

SQL

Database проверка

Данные

Эффектив

ность передачи

Примечания

BCP Нет - Да Эффективно • Efficient transfer of data to existing table

SSMS Generate

Scripts wizard Да Some Да

Неэффективно

• Эффективно for smaller databases • Has explicit option for SQL Azure script generation

SQL Server Import &

Export Data Нет - Да Эффективно

• Simple UI on top of SSIS; also available in SSMS

SSIS Нет - Да Эффективно • Most flexibility

SQL Azure Migration

Wizard Да Да Да Эффективно

• Great capabilities; e.g. evaluate trace files • Open source on CodePlex; • Нетt supported by MSFT

DAC (BACPAC) Да Да Да - • Entity containing all database objects including data • Full SQL Azure support

DAC Database

Import/Export Да Да Да Эффективно

• Export/import of DAC plus data with DAC framework • Preview available Нетw on SQL Azure Labs; final release

with SQL Server codenamed “Denali”

• Service for cloud-only support coming soon

SQL Database Copy Да - Да Эффективно

• Create transactionally consistent copy of SQL Azure database

• Currently within the same data center

Page 19: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Демо

Page 20: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Управления задачами идентификации и контроля доступа для облачных приложений

Windows Azure Active Directory (Identity & Security)

Page 21: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Аутентификация на основе веб-форм

• Перенести ASP.NET Membership Provider в Windows Azure

• Windows аутентификация

• Внести изменения в приложения для использования сервиса Windows Azure

Active Directory Access Control Services (ACS)

• Перенести AD в Windows Azure и настроить синхронизацию

• Идентификация на основе утверждений

• Windows Azure Active Directory Access Control Services (ACS)

Аутентификация и авторизация

Page 22: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Привязка доменного имени

Адрес *.cloudapp.net

myservicename.cloudapp.net

TTL 10 секунд

Вариант: использовать CNAME

для *.cloudapp.net

Требуется 2 DNS lookups

Кэширование ограничено из-за низкого

TTL

VIP меняется при удалении роли (передеплои)

Page 23: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Media Services – это работа с медиа-контентом и законченные процессы обработки медиа

Windows Azure Media Services

Кодирование

Page 24: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

А так же

Full IIS

RoleEntryPoint - WaIISHost.exe Веб-сайт - w3wp.exe Загрузка любого IIS модуля

Startup задачи

Запуск кода при инициализации экземпляра роли

Page 25: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Пример

Page 26: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Techdays.ru: архитектура «раньше»

Page 27: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Techdays.ru: архитектура в Windows Azure

Web Role Browser

Browser

Browser

Browser

Browser

Web Role

Web Role

N L B

Blob Storage

Worker Role

Worker Role

Worker Role

SQL Database

Queue

Req Req Req Req

Distributed cache

Table Storage

Page 28: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Миграция: виртуальные машины Windows Azure (IaaS)

Page 29: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Создать виртуальную машину в Windows Azure

• Быстро (не требуется загружать vhd)

• Минимум зависимостей (драйвера, библиотеки и т.п.)

• Требуется загрузка и установка приложения и перенос данных и настроек

• Перенести в Windows Azure существующую виртуальную машину

• Приложение, конфигурация и настройки автоматически переносятся

• Могут выявится зависимости от драйверов или других компонентов,

отсутствующих в гипервизоре Windows Azure

• Требуется загрузка vhd в Windows Azure

Подходы к миграции

Page 30: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Используйте один Cloud Service

• Все VM, расположенные в одном

Cloud Service, взаимодействуют

напрямую

• Имена резолвятся

автоматически с помощью

Windows Azure DNS

А что если у нас несколько виртуальных машин (VM)?

Cloud Service Имя: myapp1.cloudapp.net

Virtual Machine

VM имя: iisvm1

10.1.5.6

Virtual Machine

VM имя: iisvm2

10.1.5.7

DIP

Virtual Machine

VM имя: sqlvm1

10.1.5.8

Балансировщик Публичный IP

Page 31: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Windows Azure поддерживает VHD формат

• Другие форматы должны быть конвертированы перед миграцией в VHD

• Используйте для загрузки CSUpload.exe

• Поддержка возобновления закачки

• Автоматически конвертирует диск из Dynamic в Fixed Disk

• Эффективная загрузка – нулевые байту пропускаются (не отправляются)

• Перед загрузкой не забудьте!

• Включить удаленный доступ (Remote Access)

Процесс миграции виртуальной машины

Page 32: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Постоянный IP адрес

• VM, подключенная к виртуальной сети, имеет

бесконечный DHCP-лиз

• Гибридные приложения

• Требуется соединение между облаком и

локальной инфраструктурой

• Соединение между облачными сервисами

• Развернутая AD в облаке

• Интеграция между PaaS и IaaS частями

Windows Azure Virtual Network

Page 33: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Разворачивайте DC в отдельном сервисе (Cloud Service )

Domain Controller в Windows Azure

Cloud Service for AD Clients Имя: app-cloudservice.cloudapp.net

Группа привязки (Affinity Group): ADAG

Deployment Virtual Network: ADVNET

DNS Ips: 192.168.1.4

Virtual Machine Role Name: advm1

Subnet: AppSubnet

IP Address: 192.168.2.4

Cloud Service for AD Domains Имя: ad-cloudservice.cloudapp.net

Группа привязки (Affinity Group): ADAG

Deployment Virtual Network: ADVNET

DNS Ips: (On-Premise AD IP)

Virtual Machine Role Name: ad-dc

Subnet: ADSubnet

IP Address: 192.168.1.4

DIP

ADVNET

Page 34: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

AD локально

Балансировщик Public IP

Site-to-Site VPN канал

Аутентификация в AD +

Доступ к локальным ресурсам

Contoso.com Active Directory Contoso.com Active Directory

Page 35: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

AD локально и в облаке

Балансировщик Public IP

Репликация AD +

Доступ к локальным ресурсам AD Auth

Site-to-Site VPN канал

Contoso.com Active Directory Contoso.com Active Directory

Page 36: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

AD только в облаке

Балансировщик Public IP

Локальные ресурсы

AD Auth

Site-to-Site VPN канал

Contoso.com Active Directory

Внешняя Active Directory

Page 37: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Каждый диск – это отдельные I/O

• Контроллер диска\шпиндели

• Несколько дисков – повышение производительности (за счет распараллеливания I/O)

• Режимы кэширования (Host Caching)

• None, ReadOnly и ReadWrite режимы

• Для диска данных (DataDisk) по умолчанию None

• Планируйте объемы хранения

• Максимальный размера диск данных - 1TB

Диски и данные

Page 38: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Демо

Page 39: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Миграция: интеграция PaaS и IaaS

Page 40: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Плюсы

• Просто

• Автономно

• VIP Swap (облачный сервис)

• Простое развертывание

• Минусы

• Сетевая задержка выше

• Менее безопасно

Интеграция через VIPs Простой способ взаимодействия через публичный адрес

Page 41: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

• Плюсы

• VM не «публикуется» в Интернет

• Низкая сетевая задержка

• VIP Swap

• Минусы

• Более сложная настройка (VNET)

• Нет Windows Azure DNS - потребуется

собственный DNS или общение по IP адресам

Прямое соединение через виртуальную сеть (VNET) Для сложных сценариев, например, Active Directory или DCOM

Page 42: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Ключевые сценарии миграции

Page 43: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Бесплатный доступ и ресурсы Windows Azure

Специальные предложения для участников

Page 44: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Бесплатный Windows Azure триал

1 2

3

http://windowsazure.com

Если у Вас нет кредитной карты – создайте виртуальную карту

По умолчанию для триала установлен лимит (0 руб) на списание средств с карты

Page 45: Миграция существующих приложений в Windows Azuredownload.microsoft.com/documents/rus/visualstudio/ru/ru/...AD локально и в облаке Балансировщик

Спасибо! Ефимцева Наталия

[email protected]

@nefimtseva