Миграция существующих приложений в windows...
TRANSCRIPT
• Почему Windows Azure?
• Подходы к миграции
• Миграция в PaaS
• Миграция в IaaS
• Миграция PaaS + IaaS
Темы
Почему Windows Azure?
Платите за то,
что используете.
Сценарии
для
облака
99.95% SLA (в месяц)
Вычислительные
мощности
Microsoft
по всему миру
Дополнительные
сервисы
Приложение и бизнес-задача
Миграция: облачные службы Windows Azure (PaaS)
на примере ASP.NET приложения
Место для запуска ваших приложений…
Windows Azure: типовая архитектура решения PaaS
Web-роль - преконфигурированная виртуальная
машина с настроенным IIS
Worker-роль – код не относящийся к веб, бэкенд для приложений
Вы можете подключаться к вашими ролям, это
просто виртуальные машины
Вы просто размещаете свой код и файлы, а Windows Azure запускает VM, устанавливает и запускает код для вас. Балансировщик нагрузки
работает с несколькими экземплярами
Демо
Сохранение сессий в Windows Azure: stateless На клиенте (куки) или на серверной стороне (SQL Database, Windows Azure Storage, Windows Azure Caching)
• Локальное хранилище экземпляра является временным
• Централизованное масштабируемое хранилище - Windows Azure Storage
• Надежность: локальная и гео-репликация
• CND (сеть кэширующих серверов)
• Ограничение доступа: SAS (Shared Access Signature)
• Универсальность: REST сервис
• Масштабируемость до петабайт
• Типичная загрузка файлов в ASP.NET - File Upload Control
Работ с файлами и хранилищем Windows Azure Table Storage, Windows Azure BLOB Storage
Облачное реляционное хранилище с высокой доступностью (SLA 99,9%) и избыточностью (3 реплики)
SQL Database
Облачное реляционное хранилище
основанное на SQL Server
SQL Server - это cервер
SQL Database - это TDS Endpoint
Используйте те же инструменты, фреймворки для
доступа к данным, язык T-SQL
Дата-центры по всему миру
Высокая доступность & Избыточность
Чтение производится из primary БД
Записи реплицируются во вторичные реплики
• Прямая миграция
• 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)
Инструменты миграции
Инструмент Схема
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
Демо
Управления задачами идентификации и контроля доступа для облачных приложений
Windows Azure Active Directory (Identity & Security)
• Аутентификация на основе веб-форм
• Перенести 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)
Аутентификация и авторизация
Привязка доменного имени
Адрес *.cloudapp.net
myservicename.cloudapp.net
TTL 10 секунд
Вариант: использовать CNAME
для *.cloudapp.net
Требуется 2 DNS lookups
Кэширование ограничено из-за низкого
TTL
VIP меняется при удалении роли (передеплои)
Media Services – это работа с медиа-контентом и законченные процессы обработки медиа
Windows Azure Media Services
Кодирование
А так же
Full IIS
RoleEntryPoint - WaIISHost.exe Веб-сайт - w3wp.exe Загрузка любого IIS модуля
Startup задачи
Запуск кода при инициализации экземпляра роли
Пример
Techdays.ru: архитектура «раньше»
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
Миграция: виртуальные машины Windows Azure (IaaS)
• Создать виртуальную машину в Windows Azure
• Быстро (не требуется загружать vhd)
• Минимум зависимостей (драйвера, библиотеки и т.п.)
• Требуется загрузка и установка приложения и перенос данных и настроек
• Перенести в Windows Azure существующую виртуальную машину
• Приложение, конфигурация и настройки автоматически переносятся
• Могут выявится зависимости от драйверов или других компонентов,
отсутствующих в гипервизоре Windows Azure
• Требуется загрузка vhd в Windows Azure
Подходы к миграции
• Используйте один 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
• Windows Azure поддерживает VHD формат
• Другие форматы должны быть конвертированы перед миграцией в VHD
• Используйте для загрузки CSUpload.exe
• Поддержка возобновления закачки
• Автоматически конвертирует диск из Dynamic в Fixed Disk
• Эффективная загрузка – нулевые байту пропускаются (не отправляются)
• Перед загрузкой не забудьте!
• Включить удаленный доступ (Remote Access)
Процесс миграции виртуальной машины
• Постоянный IP адрес
• VM, подключенная к виртуальной сети, имеет
бесконечный DHCP-лиз
• Гибридные приложения
• Требуется соединение между облаком и
локальной инфраструктурой
• Соединение между облачными сервисами
• Развернутая AD в облаке
• Интеграция между PaaS и IaaS частями
Windows Azure Virtual Network
Разворачивайте 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
AD локально
Балансировщик Public IP
Site-to-Site VPN канал
Аутентификация в AD +
Доступ к локальным ресурсам
Contoso.com Active Directory Contoso.com Active Directory
AD локально и в облаке
Балансировщик Public IP
Репликация AD +
Доступ к локальным ресурсам AD Auth
Site-to-Site VPN канал
Contoso.com Active Directory Contoso.com Active Directory
AD только в облаке
Балансировщик Public IP
Локальные ресурсы
AD Auth
Site-to-Site VPN канал
Contoso.com Active Directory
Внешняя Active Directory
• Каждый диск – это отдельные I/O
• Контроллер диска\шпиндели
• Несколько дисков – повышение производительности (за счет распараллеливания I/O)
• Режимы кэширования (Host Caching)
• None, ReadOnly и ReadWrite режимы
• Для диска данных (DataDisk) по умолчанию None
• Планируйте объемы хранения
• Максимальный размера диск данных - 1TB
Диски и данные
Демо
Миграция: интеграция PaaS и IaaS
• Плюсы
• Просто
• Автономно
• VIP Swap (облачный сервис)
• Простое развертывание
• Минусы
• Сетевая задержка выше
• Менее безопасно
Интеграция через VIPs Простой способ взаимодействия через публичный адрес
• Плюсы
• VM не «публикуется» в Интернет
• Низкая сетевая задержка
• VIP Swap
• Минусы
• Более сложная настройка (VNET)
• Нет Windows Azure DNS - потребуется
собственный DNS или общение по IP адресам
Прямое соединение через виртуальную сеть (VNET) Для сложных сценариев, например, Active Directory или DCOM
Ключевые сценарии миграции
Бесплатный доступ и ресурсы Windows Azure
Специальные предложения для участников
Бесплатный Windows Azure триал
1 2
3
http://windowsazure.com
Если у Вас нет кредитной карты – создайте виртуальную карту
По умолчанию для триала установлен лимит (0 руб) на списание средств с карты