Разработка корпоративных приложений на Windows 8 и Azure
description
Transcript of Разработка корпоративных приложений на Windows 8 и Azure
VIRTUALEVENTS
msftva.ru
Разработка корпоративных приложений на Windows 8 и Azure
Миграции информационной инфраструктуры бизнес-приложений в облакоЕфимцева Наталия[email protected]@nefimtseva
ЗА 45 МИНУТ МОЖНО УСПЕТЬ МНОГОЕ!
КОРЕЕЦ ВИКТОР АН ЗАВОЕВАЛ ДЛЯ РОССИИ ЗА 45 МИНУТ ДВЕ ЗОЛОТЫЕ МЕДАЛИ!
ИСТОЧНИК: DELFI СПОРТ
ОБЛАЧНЫЙ РЫНОК
Источник: http://blog.capterra.com/why-web-based-software-is-best-for-field-service-management/
Рынок облачных технологий в России, 2013
SaaS($65.70
M)54%
IaaS($47.07
M)38%
PaaS8%
Публичное облако
В 2012 году Windows Azure лидировал на российском PaaS рынке публичного облака ($1.18 миллиона)
Источники: IDC Russia Cloud Services Market 2012 Analysis and 2013-2017 ForecastIDC Worldwide Quarterly Server Virtualization Tracker Q2 2013
Публичное($105.11M)
31%
Виртуальное частиное
($103.42M)30%
Частное$131.47M
(39%)
Всего за 5 лет доля новых серверов, использующих виртуализацию, выросла с 5% в 2008 году до 26% в 2013
77% серверов используют Windows Server
Облачный рынок
Отчет Gartner: Windows Azure в лидерах рынка PaaS для корпоративных приложений
Источник: Gartner: Magic Quadrant for Enterprise Application Platform as a Service, 2014
ТЕХНИЧЕСКИЕ ДЕТАЛИ МИГРАЦИИ
Гетерогенная средаЯзыки
CMS
Устройства
Базы данных
Операционныесистемы
Вопросы миграции в облако Вся ли локальная инфраструктура может быть перенесена в
облако? Возможно, что нет.
Идентичны ли подходы к отказоустойчивости и кластеризации в облаке и локально?
Облако предоставляет как встроенные, так и конфигурируемые средства для обеспечения отказоустойчивости, но применяемые подходы отличаются. Какова стоимость миграции и дальнейшей работы приложения в
облаке? Миграция часто требует больше ресурсных вложений, чем
финансовых. Подходы к ценообразования в облаке отличаются.
Соберите данные Инфраструктура
Спецификация виртуальных машин или физических серверовОперационные системы и совместимостьСистемы хранения данных и объемы данных
Средства управленияАнтивирусы\средства мониторинга\бэкапы
Требования к доступностиДоступность во время работыМиграция online или offline
Требования к отказоустойчивости и кластеризации Текущие показатели системы по производительности и нагрузке
Миграция - в Windows Azure возможны любые конфигурации
IaaS
Виртуальные машины
VPN
WAAD
PaaS
Cloud Services\Web Sites
Azure Storage
SQL Database
Iaas + PaaS + локальная
инфраструктура
ВИРТУАЛЬНЫЕ МАШИНЫ ВЕБ-САЙТЫ
ОБЛАЧНЫЕ СЕРВИСЫ
ХРАНИЛИЩА
CDN
СЕТЬ
СЕРВИСНАЯ ШИНА
МОБИЛЬНЫЕ СЕРВИСЫ
ИНТЕГРАЦИЯ АНАЛИТИКА
HPC
SQL БАЗА ДАННЫХ
ИДЕНТИФИКАЦИЯ
ДИСПЕТЧЕР ТРАФИКА
СООБЩЕНИЯ
СЛУЖБЫ BIZTALK
РЕЗЕРВНОЕ КОПИРОВАНИ
Е
HDINSIGHT
КЭШ
ACTIVE DIRECTORY
ЦЕНТР УВЕДОМЛЕНИ
Й
DATA SYNCPREMIUM SQL БАЗА ДАННЫХ
WINDOWS AZURE STORE
МЕДИА СЕРВИСЫ
Множество готовых
службАвтомасштабированиеОтказоустойчивость
SLA
Приложение хороший кандидат на миграцию, если: Приложение работает в виртуальной среде
(не используется специфичное оборудование)
Нет жестких требований по IOPS Приложение работает в Windows Server
2008 R2 или выше (или Lunix) Гибкая сетевая инфраструктура (не
используется специфичное оборудование)
Размер виртуальных машин CPU, RAM, пропускная способность
Windows Azure предлагает выбор не из спецификации оборудования, а из шаблонов (комбинация CPU\RAM) IaaS\PaaS машин
Масштабирование может достигаться за счет увеличения размера
Размер виртуальной машины связан с ее пропускной способностью (используется и для дисковых IO)
VHD диски VHD обслуживается с Azure BLOB Storage
Azure VHD – это сетевые диски (медленнее, чем физические жесткие диски). Такая архитектура повышается отказоустойчивость (быстрое восстановление машины
после сбоя)Размер виртуальной машины связан с ее пропускной способностью (используется и
для дисковых IO)На данный момент поддерживается VHD, но не VHDX
Типы дисков: OS Disk, Data Disk и временный дискOS Disk - оптимизирован для быстрого запуска ОСРазмер ОС партиции не должен превышать 127ГБData Disk - оптимизирован для Random IOДиректории данных (DC и SQL Server) должны использовать Data DiskМаксимальный размер Data Disk’а 1ТБКоличество подключаемых Data Disk’ов зависит от размера машиныДля повышения производительности объединяйте Data Disk’и в RAID
VHD диски (продолжение) Типы дисков: OS Disk, Data Disk и временный диск
Диск D:\ - временный диск, физический диск хоста
Данные после перезагрузки могут быть потеряны
Приложение не должно иметь зависимости на имя дискаМожет использоваться только для
хранения временных данных
Типы дисков
Выбор ОС и поддержка приложений Azure IaaS поддерживает только 64-битные
ОСОС: Windows Server 2008 R2 и Windows
Server 2012, дистрибутивы LinuxСрок поддержки образов (support lifecycle)
Приложения Microsoft, поддерживаемые в Azure
http://support.microsoft.com/kb/2721672
Сеть 1 внешний IP адрес на Cloud Service 1 сетевой адаптер на виртуальной машине 1 DHCP внутренний IP адрес на машину Сопоставление портов (port forwarding) Site-to-Site VPN (оборудование\Windows Server
2012 R2 RRAS) или Point-to-Site VPN Балансировка входящих запросов (трафика)
осуществляется до Cloud Service’а – нет SSL offloading
Сеть
Сетевая топология Один Cloud Service (все виртуальные машины в нем)
1 внешний IP адресВнутренний IP адрес выдается автоматически Azure DHCPВстроенные DNS
Несколько Cloud Service (виртуальные машины распределены)Несколько внешних IP адресов
Azure VNET (виртуальная сесть)VPN с локальной инфраструктуройВнутренняя сеть между несколькими Cloud Service’амиГибридное решения для IaaS/PaaSВнутренние IP выделяется Azure DHCP, но в соответствии с заданными
правила для подсетей внутри виртуальной сети Availability Sets и балансировка
Масштабирование Есть некоторые
особенности для виртуальных машин
Машины должны быть заранее созданы
Добавлены в Availability SetДалее настроены правила«Лишние» машины
останавливаются (плата не взимается)Механизм автомасштабирования
далее самостоятельно включает\выключает машины Для PaaS (Cloud Services\Web Sites)
этих особенностей нет
Отказоустойчивость VHD (Azure BLOB Storage) предлагает локальную и
глобальную репликацию (соседний ЦОД обычно)Это защищает от проблем, связанных с
неисправностью оборудования или всего ЦОДа Availability Set (AS) позволяет реализовать
отказоустойчивостьSLA на доступность 99,95% предоставляется только на две и более виртуальных машины, включенных в Availability Set Машины распределяются по (OS) Update (5-20) и
Fault (2+) доменам
ОтказоустойчивостьFault домен
СтойкаFault домен
Стойка
IIS1
SQL1
IIS2
SQL2
UD #2
UD #2
UD #1
UD #1
Отказоустойчивость
А если у меня не настроен Availability Set?
Кстати, сравним с PaaS (Web Sites)
Отказоустойчивость: SQL Server High Availability and Disaster Recovery for SQL Server in Windows Azure Vir
tual MachinesLog ShippingМирроринг (устаревший в SQL Server 2012)Не требуется доменAlways On в SQL Server 2012 (Always Available)Обязательно требуется домен
Документ Performance Guidance for SQL Server in Windows Azure Virtual Machines
PaaS вариант: SQL Database или SQL Database PremiumНет необходимости настраивать дополнительно отказоустойчивостиПредоставляется SLA на доступность 99,95%
Балансировка нагрузки Windows Azure предоставляет встроенный балансирощик
нагрузкиАлгоритм: round robinSource IP, Source Port, Destination IP, Destination Port,
Protocol Включайте машины в Load Balancing Set и в Availability Set Статья по балансировке внутренних серверов
How to Load-Balance Internal Servers В основе лежит ACL
PaaS: настраивается все декларативно и автоматически
Балансировка нагрузки
Доступ к файлам Data Disk может быть подключен только к одной виртуальной
машинеИ вспомним про Availability Set
File ShareНа основе Distributed File System (DFS)Статья High-Available File Share in Windows Azure using DFS
PaaS: использовать Azure BLOB StorageСвободный канал (трафик идет не через виртуальную
машину и сетевой адаптер, а напрямую через\к BLOB Storage)Централизованное отказоустойчивое и масштабируемое
хранилище с SLA на доступность 99,95%
192.168.100.0/24
192.168.240.0/24
192.168.247.0/24
Веб сервера RODC
Рабочие станции и сеть (например, принтер)
Локальный DCЛокальный сервер
Juniper SSG520M илиPalo Alto PA-2050
Сеть (240)
Клиент (администратор)
Azure VNET gateway
Azure VNET
Клиент (обычный)
Azure CDNдля кэширования Балансировщ
ик Azure
Виртуальные машины, включенные в балансировку и вAvailability Set
Граница Cloud Services Основные и warm backupмашины в Availability Sets
DB server tierApp server tier
Терминальные службы (удаленные рабочие столы) Могут ли поставщики услуг создать облачную службу на основе
Windows Azure, используя размещение на основе сеансов через RDS «Да, поставщики услуг могут предоставлять размещенные
решения через RDS на платформе Windows Azure, если они получили лицензии подписчика (SAL) для RDS у торгового посредника по лицензионным соглашениям поставщиков услуг (SPLA)». Могут ли пользователи арендовать настольные клиенты Windows в
Windows Azure или у других поставщиков услуг? «Нет, размещение с обслуживанием нескольких развертываний
запрещено в правах на использование продукта клиента Windows, например Windows 7 или Windows 8. Поэтому настольные клиенты Windows недоступны в Windows Azure или у другого поставщика услуг,
такого как Amazon или Rackspace.» Виртуальные машины — вопросы и ответы по лицензированию
Полезны советы Подготовка VHD
Не забудьте запустить SysprepУбедитесь, что учетная запись администратора не заблокированаRDP разрешен и RDP порт 3389 не блокируется брандмауэромПрисутствует 1 сетевой адаптер, сконфигурированнный для DHCP
Загрузка vhd в облакоCSUpload из Azure SDK или Add-AzureVDH командлет PowerShellАвтоматически конвертируют динамические диски в fixed и
пропускают Любая утилита по копирования файлов в BLOB Но не все йогурты одинаково полезны
Полезны советы Бэкап или snapshot виртуальной машины
Можно сделать snapshot vhd диска (BLOB объекта), при этом виртуальная машина должна быть остановлена Выключение виртуальной машины
В выключенном состоянии плата за время работы виртуальной машины не взимается
В выключенном состоянии все ресурсы, ранее выделенные под виртуальную машину, освобождаются
Выключайте машину через портал управления Windows Azure или через PowerShell командлеты
Shutdown виртуальной машины из самой виртуальной машины работает иначе: приводит к остановке машины (pause), но не высвобождению ресурсов, поэтому плата за работу машины будет продолжать взиматься
Полезны советы VM Agent
В виртуальных машинах появился VM Agent
Привязка доменного имени VIP (внешний IP адрес) не является статическим
Статья Время жизни статических IP-адресов в Windows Azure Адрес *.cloudapp.net или *.azurewebsites.net
Например: myservicename.cloudapp.net, TTL 10 секунд Использовать CNAME
Требуется 2 DNS lookupКэширование ограничено из-за низкого TTL
A запись для корневого доменаVIP (внешний IP адрес) меняется при удалении всех элементов из
Cloud Services(выключение машины, редеплой пакета) Статья
Привязка своего домена к Windows Azure (на примере RU-CENTER)
СТОИМОСТЬ РАБОТЫ ПРИЛОЖЕНИЯ В AZURE
Источник: http://turcopolier.typepad.com/sic_semper_tyrannis/2013/03/cyprus-where-is-your-money-today.html
Стоимость Оплата по мере потребления! Калькулятор
Подходит для предварительных расчетов Опции приобретения
Тарифные планы и важная информация про скидки (например, от 20% скидка при потребление > $500\месяц) Личный кабинет
Управление подпискамиВыставленные счетаОтчет по потребленным ресурсам
Важно!Трафик внутри ЦОДа не оплачивается, в том числе и между разными
подписками
Стоимость
Настройте Billing Alerts И оставайтесь в курсе ваших расходов
Специальные предложения
MSDN
Бесплатно ресурсы на $50-$150 в месяц
Подробнее
BizSpark
Бесплатно ресурсы на $150 в месяц
Подробнее
Microsoft Partner Network (MPN)
Бесплатно ресурсы на $100 в месяц
Подробнее
$150
В МЕСЯЦ
3 VMs, работающие 24x7 весь месяц 75 HDInsight узлов на 10 часов
непрерывной работы
80 VMs для нагрузочного тестирования Более 100 веб сайтов + база
данных
Выводы Облако – это немного другая среда, неверная архитектура
или недостаточное планирование могут серьезно сказаться на работоспособности приложения
Убедитесь до миграции, что хорошо понимаете, как приложение работает
Старайтесь измерять максимально возможное количество параметров (как до, так и после миграции)
Windows Azure подходит для миграции сложных систем и бизнес-приложений – небольшие и оправданные изменения в архитектуре приложения положительно скажутся на работоспособности приложения
Windows Azure очень динамично развивается!