Roman Zdebskiy - Windows Azure

Post on 14-Dec-2014

1,291 views 2 download

Tags:

description

 

transcript

Разработка облачных решений — зачем и как?

Роман Здебский

Руководитель группы экспертовMicrosoft Россия

http://blogs.msdn.com/roman

Цели доклада

Дать понимание применимости облачной разработки, отличия от других типовДать технический обзор платформы Windows AzureДать полезную информацию для принятия архитектурных решений и прототипирования

Содержание

Что такое облако, основные отличияСфера применимостиАрхитектура Windows AzureВычислительные возможностиВозможности хранения информацииВозможности интеграцииКросс-платформенные возможностиБудущее

Что такое «облако» (cloud)?Простое определение – веб-сервисы и/или веб-

приложения

Классическое определение – предоставление ИТ как стандартизованного сервиса

Браузер

Клиентское приложение

Серверное приложение или служба (сервис)

Веб-приложения

Веб-сервисы

Cloud

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

мощности

Где может находиться облако?

ЦОД компанииЧастное облакоPrivate Cloud

ЦОД партнера или хостераПартнерское облакоPartner Cloud

ЦОД MicrosoftПубличное

облакоPublic Cloud

Веб-приложения

Веб-сервисы

Cloud

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

мощности

Как выглядит публичное облако?

Глобальная сеть ЦОДов

АзияСеверная Америка Европа

Seattle, WA Newark, NJ

Miami, FL

Chicago, IL

San Antonio, TX

Bay Area, CALos Angeles, CA

São Paulo, BR

Ashburn, VA

Dublin, IELondon, GB

Amsterdam, NL

Sydney, AU

Hong Kong, HK

Paris, FRZurich, CH

Vienna, AT

Singapore, SG

Taipei, TWN

Seoul, KR

Stockholm, SE

Moscow, RU

Tokyo, JP

TV/HOMEPC MOBILE

Опыт Microsoft

25млн пользователей Xbox

Live

530млн активных Windows Live ID

368млн пользовате

лей Hotmail

Более 4млрд поисков

каждый месяц

Более 6млн

песен в каталоге

Более 459млн уникальных

пользователей

Более 303млн пользователе

й в месяц

Типы облачных решенийСобственная

инфраструктура

Системы хранения

Серверы

Сеть

ОС

Связующее ПО

Виртуализация

Данные

Приложения

Среда выполнения

Обсл

уж

ивается

вам

и

Инфраструктура (как сервис)

Системы хранения

Серверы

Сеть

ОС

Связующее ПО

Виртуализация

Данные

Приложения

Среда выполнения

Обсл

уж

ивается

вен

дор

ом

Обсл

уж

ивается

вам

и

Платформа

(как сервис)

Обсл

уж

ивается

вен

дор

ом

Обсл

уж

ивается

вам

и

Системы хранения

Серверы

Сеть

ОС

Связующее ПО

Виртуализация

Приложения

Среда выполнения

Данные

Приложение

(as a Service)

Обсл

уж

ивается

вен

дор

ом

Системы хранения

Серверы

Сеть

ОС

Связующее ПО

Виртуализация

Приложения

Среда выполнения

Данные

Типы облачных решенийПлатформ

а(как

сервис)

Обсл

уж

ивается

вен

дор

ом

Обсл

уж

ивается

вам

и

Системы хранения

Серверы

Сеть

ОС

Связующее ПО

Виртуализация

Приложения

Среда выполнения

Данные

Ваши приложения

Azure в России

Предлагается компанией SoftLineazure.softline.ruВ составе решения по биллингу и предоставлению сервиса

Оплата в рубляхБанковский перевод

или allsoft.ru

Зачем? – отличия от хостинга

Использование

Вы

чи

сл

ени

я

Время

Среднее

Период

Неактивности

“Включение и выключение“

Среднее Использование

Вы

чи

сл

ени

я

Время

“Быстрый рост“

Вы

чи

сл

ен

ия

Время

“Непредсказуемые пики“

Среднее Использование В

ычи

сл

ен

ия

Время

Среднее Использование

“Предсказуемые пики“

Хостинг как правило не обладает эластичностью - неограниченной адаптируемостью

• turbotax.com • taxcut.com

• hrblock.com • taxact.com

Source: Alexa

~4x нормальной нагрузки

(Holiday shopping)

~10x нормальной

нагрузки(налоговый

период)

• target.com • walmart.com

• toysrus.com • barnesandnoble.com

Jan 2009 Jan 2010 Jan 2009 Jan 2010

Source: Alexa

Экономия на масштабах с точки зрения нагрузкиПеременчивость индустрии

Архитектура Windows Azure

Operating System and Database:

Application Runtimes, Frameworks, and Tools

.NET Java PHP ………

Application Services

Compute

VMs WebWorke

r…

Storage

Blobs TablesQueu

es…

Network

Connect CDN GTM …

Database

Relational Databases

Caching

Distrib. Cache

Partitioning

Messaging

Pub/Sub Relay

Identity

ACLsFederatio

n

Data Synchronization

DB-to-DBClient Sync

Reporting

Reporting Analytics

Platform AppFabric

Платформа Windows Azure

Архитектура Windows Azure

Fabric ControllerFabric

Системы хранени

я

Вычисления

Fabric Controller автоматическое балансирование нагрузки по вычислениям и масштабирование ресурсов

Безопасность и контроль включает шифрование систем хранения, аутентификация, шифрование HTTPS. Индустриальная сертификация - часть подхода Windows AzureГеографически распределенные мощные ЦОДразмещение приложений и данных, доступных через интернет в соответствии с правами доступа

Вычисления обеспечивают масштабируемость приложений. Разработчики могут создавать комбинацию web и worker ролей. Эти роли могут быть реплицированы по требованию, чтобы масштабировать приложения и вычислительные мощности

Системы хранения позволяют клиентам масштабировать большие массивы данных в любом формате, в течение любого времени, с оплатой только того, что вы храните и используете.

Windows Azure вычисленияWeb и Worker роли

Сервис состоит из ‘n’ инстанций Web роли и ‘m’ инстанций Worker роли (n,m≥0)Сервис масштабируется с помощью управления количеством инстанций ролейКаждая роль состоит из кода, локальных данных, конфигурации и запускается в выделенной виртуальной машинеВсе Web роли и некоторые Worker роли обеспечивают внешние точки вызовов и балансируются по нагрузкеПростой шаблон – асинхронный Web|Worker в котором Web-Worker коммуникации между ними идет через очереди Windows Azure

Worker

roleLB

QWeb role

Вычисления Windows AzureРоль Virtual Machine (VM) Упрощение миграции конфигураций

на базе Windows Server на Windows Azure

Расширение спектра конфигураций на базе Windows Server, которые могут работать в Windows Azure

Worker role

Web role

VMrole

Web и Worker Роли

Демонстрация

Remote DesktopИнтегрировано с порталом управления Windows AzureRemote Desktop доступ к инстанциямИспользование стандартного клиента Remote Desktop

• Поддерживается для всех 3 типов ролей

• Динамическая конфигурация настроек

• Выключение и включение балансировщика нагрузки для отладки

Инфраструктура основана на виртуальных машинах

Гибкие возможности масштабирования и стоимости

От Extra Large до Extra SmallМожно использовать вместе инстанции разной мощностиМожно гибко на лету менять мощность массива

Instance Size CPU Memory Instance Storage I/O Performance Price

Extra Small 1.0 GHz 768 MB 20 GB Low $.05 per hour

Small 1.6 GHz 1.7 GB 225 GB Moderate $.12 per hour

Medium 2 x 1.6 GHz

3.5 GB 490 GB High $.24 per hour

Large 4 x 1.6 GHz

7 GB 1000 GB High $.48 per hour

Extra Large 8 x 1.6 GHz

14 GB 2040 GB High $.96 per hour

Системы хранения Windows AzureМасштабируемые и надежные

Blobs: Системы хранения для данных большого объема (файлы) и метаданных доступные в виде страниц и потоков (stream)Tables: Структурированная система хранения нереляционных данных (entities) Queues (очереди): В основном для асинхронных коммуникаций между Web и Worker ролямиDrives (диски): NTFS диски для приложений Windows Azure – хранение в виде blob.

SQL AzureРеляционные данные как сервис

Построен на движке SQL Server 2008 R2, легкость создания и разворачивания баз. Высокая доступность и отказоустойчивость, не требуется физического администрирования.Обеспечивает Transact-SQL (T-SQL) через Tabular Data Stream (TDS) поддерживает ODBC и ADO.NET, LINQ, WCF Data Services (ранее “ADO.NET Данные Services”) и ADO.NET Entity FrameworkПоддерживает базы до 50GBСуществующие инструменты работы с SQL Server для SQL AzureПоддерживает Data Sync Services, гео-данные, OData и Microsoft Office 2010

Масштабируемость, доступность, отказоустойчивость, репликация

VM 5SQL Server

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

SQL Azure базы данных (Данные, учетные записи, роли, …, биллинг)

VM 6SQL Server

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

VM 4SQL Server

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Отчеты в SQL AzureВозможности

Базируется на SQL Server Reporting ServicesИнтерактивные и табличные отчетыВизуализация: диаграммы, графики, карты, шкалыSQL Azure базы данных и источники данныхРазработка отчетов а BI Developer Studio

СценарииОперативные отчеты на основе данных SQL AzureВстроенные отчеты в приложения Windows Azure

Web Role Reporting

Что такое AppFabric?• Связующее сервисное ПО

• Возможности платформы как сервисы

• Композитные приложения

• Масштабируемая инфраструктура приложений

AppFabric Сервисы

.NET + AppFabric

Compositio

n модель и инструмен

ты

AppFabric Контейнер

SQL Azure

Windows Azure

AppFabric Управлени

е

AppFabric Services

Кеширова-ние

Сервисная шина

Контроль доступа

Интеграция

Композитные приложения (WF, WCF)

Connectivity ServicesSoftware Services

Data SynchronizationSQL Azure Data Sync

Application-layer Connectivity &

Messaging Windows Azure AppFabric Service

Bus

SecurityFederated Identity and Access Control

Secure Network Connectivity

Windows Azure Connect

Windows Azure Content Delivery NetworkПозволяет доставлять контент из узлов наиболее близких к пользователям

www.customer.com

Azure Storage

ECN NODE…

EDGE CACHING SERVERS

ECN NODE 2 - TOKYO

EDGE CACHING SERVERS

ECN NODE 1 - LONDON

EDGE CACHING SERVERS

Удобство пользователя,

скорость, лучшая монетизация

Windows AzureSelf-service portal

Enable CDN forAzure storage

Клиент

Access Control Service 2.0

Обеспечивает поддержку аутентификации от ряда провайдеров

Live ID, Facebook, Yahoo, & Google, и ADWS-Federation, WS-Trust, OpenID 2.0, OAuth 2.0

Привычная и целостная модель .NET программирования

Использует существующие Windows Identity Foundation SDK и Assemblies

REST-based Service Management APIИнтегрирование в ваши приложения и панели управления

Доступно сейчас Бесплатно в период продвижения до January 1, 2012Низкая стоимость после этого: $1.99 per 100,000 transactions

Windows Azure Traffic Manager

СкоростьНаправляет

пользователя к ближайшей/

лучшей инстанции

Отказоустойчивость

Перенаправление трафика на

основе доступности (нагрузки)

Round RobinПеренаправлени

е трафика на основе

коэффициента (алгоритма)

Load balancing нескольких сервисовИнтегрирован с порталом Windows Azure Platform3 сценария поддерживается в CTP

Windows Azure AppFabric CachingРаспределенный in-memory кэш для

Windows Azure приложенийIntegrate directly with the cache using a .NET client librarySession state provider для Windows Azure приложений

Кеш предоставляется как building block service

Конфигурируется AppFabric NamespaceВыбирается размер кешаПишется сервисный код

Знакомые.NET APIsТе же APIs как Windows Server AppFabric

CTP доступен сегодня http://portal.appfabriclabs.com

Портал управленияУниверсальный портал по управлению Windows Azure сервисамиПостроен на Windows Azure service management APIWindows Azure

Создание и удаление сервисов, Управление учетными записями

SQL AzureСоздание и удаление серверов и баз данныхУправление настройками брандмауэра.

AppFabricСоздание и удаление пространств имен AppFabric Service Bus и сервисов управления доступом

Ср

ед

а в

ыпол

нени

яs и

сер

ви

сы

http:// REST Web ServicesXMLoДанные AtomPub RSS

Ap

pFab

ric

SD

Ks

Удобство разработчикаИспользование

существующих навыков и инструментов. Windows Azure

Tools for Windows Azure Command-Line Tools for

Windows Azure Companion

Win

dow

s

Azu

re

SD

Ks

Платформа Windows Azure- открытая платформа

Windows Azure Tools for Eclipse for Java

Полноценное удобство разработки в Eclipse для Windows Azure

Интеграция с множеством Java App ServersПоддержка

Windows Azure Storage и SQL AzurePersistent Storage - Windows Azure DriveHTTPs

Интегрированная диагностика, мониторинг и ведение логовРазворачивание в облако за один кликПоддержка Windows Azure Platform SDKs & Drivers

Windows Azure AppFabric SDK for Java Microsoft SQL Server JDBC Driver

Java App Server на Windows Azure1. Специальная Windows Azure worker role

Позволяет включить JRE & Java App Server по вашему выборуЗапуск сервера во время старта роли - WorkerRole.run()

Установка информации окружения – порты, файлыУстановка хранения данных – Windows Azure StorageДиагностика установки

2. Tomcat Solutions Accelerator3. Административный доступ (Задачи на старте)

Выполнение коротких автоматических установок при старте роли. Например установка JRE, Web Server Package и Boot Strap Java Web Server

4. VM Role

Windows Azure SDK для PHPПозволяет PHP разработчикам создавать приложения, использующие инфраструктуру Windows Azure Storage & Service Management используя знакомую программную модель.

ВозможностиНабор PHP классов для Windows Azure Blobs, Tables & Queues ( CRUD операции) и Service ManagementHelper классы для HTTP транспорта, AuhN/AuthZ, REST & управления ошибкамиПоддержка управления, инструментирования и ведения логовРаспространяется через Zend Framework

Windows Azure SDK for PHP

Blobs, Tables, Queues

Manageability, Instrumentation,

logging

Helper for Http, Auth, REST,

Error

Ваше PHP приложение

Compute Storage Manage

REST

Архитектура Windows Azure

Operating System and Database:

Application Runtimes, Frameworks, and Tools

.NET Java PHP ………

Application Services

Compute

VMs WebWorke

r…

Storage

Blobs TablesQueu

es…

Network

Connect CDN GTM …

Database

Relational Databases

Caching

Distrib. Cache

Partitioning

Messaging

Pub/Sub Relay

Identity

ACLsFederatio

n

Data Synchronization

DB-to-DBClient Sync

Reporting

Reporting Analytics

Platform AppFabric

Дополнительная монетизация

Онлайн магазин для разработчиков и ит-

специалистов - строительные блоки, компоненты, услуги и законченные сервисы

и приложения.

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

структурированных и blob массивов данных.

Планируется интеграция с Office, SQL, Dynamics для мгновенного получения данных пользователями.

Windows Azure Platform appliance

Сервис-провайдерКлиент

Microsoft

Windows Azure PlatformAppliance

Windows Azure PlatformAppliance

Развитие платформы MicrosoftИнвестиции в развитие более $9 млрд.

Бизнес приложения

Совместная работа

Хранение ПлатформаУправлениеПродуктивность Коммуникации

Разработка для облачных решений Microsoft

• Exchange Web Services (EWS) • Разработка под SharePoint Online - “No-

Server-Code” – SharePoint Designer, “Farm” - Visual Studio 2010, решения в «песочнице»

Кто уже использует?

Ресурсы

Главный портал:http://www.azure.com/

Вебкасты на русском языке:http://www.techdays.ru/Search.aspx?Quick=Azure

Центр на российском MSDN:http://msdn.microsoft.com/ru-ru/ff380142.aspx

Дополнительные материалы

Elastic, scalable, secure, and highly available

automated service platform

Pay as you go and grow for only what you use when you use it

Highly available, scalable, and self managed

distributed database service

Compute

$0.12/hour+ Variable

Instance Sizes

Per service hour

Web EditionPer

database/month $9.99 to

$49.95/month(up to 5 GB DB/month)

Business Edition

$99.99 to $499.95/month

(up to 50 GB DB/month)

Per database/month

Storage Per GB stored

and transactions$0.15

GB/month$0.01/10k

transactions

Windows Azure Platform Consumption Prices

Windows Azure platform AppFabric Service Bus and Access ControlScalable, automated, highly available services for secure connectivity

Content Delivery Network$0.15 per GB for data

transfers from European & North American locations

$0.20 per GB for data transfers

from other locations

$0.01 per 10,000 transactions

Prices shown in USD only

Access Control$1.99/per 100,000

transactions

Per Message Operation

$3.99/per connection to $995 for 500 connections

Per Message Operation

Service Bus

International prices are available

Monthly Service Level Agreement

All running roles will be continuously monitoredIf role is not running, we will detect and initiate corrective state

>99.9%

Instance

monitoring and restart

Database is connected to the internet gateway All databases will be continuously monitored

>99.9%

Database

availability

>99.9%

Service bus and access control endpoints will have external connectivityMessage operation requests processed successfully

Service bus and access

control availability

Your service is connected and reachable via web. Internet facing roles will have external connectivity

>99.95%

Compute

connectivity

>99.9%

Storage service will be available/reachable (connectivity)Your storage requests will be processed successfullyContent Delivery Network (CDN) enhances end user performance and reliability

Storage

availability