Top Banner
Разработка облачных решений — зачем и как? Роман Здебский Руководитель группы экспертов Microsoft Россия http://blogs.msdn.com/roman
48
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: Roman Zdebskiy - Windows Azure

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

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

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

http://blogs.msdn.com/roman

Page 2: Roman Zdebskiy - Windows Azure

Цели доклада

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

Page 3: Roman Zdebskiy - Windows Azure

Содержание

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

Page 4: Roman Zdebskiy - Windows Azure

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

приложения

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

Браузер

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

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

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

Веб-сервисы

Cloud

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

мощности

Page 5: Roman Zdebskiy - Windows Azure

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

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

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

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

облакоPublic Cloud

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

Веб-сервисы

Cloud

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

мощности

Page 6: Roman Zdebskiy - Windows Azure

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

Page 7: Roman Zdebskiy - Windows Azure
Page 8: Roman Zdebskiy - Windows Azure
Page 9: Roman Zdebskiy - Windows Azure

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

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

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

Page 10: Roman Zdebskiy - Windows Azure

TV/HOMEPC MOBILE

Опыт Microsoft

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

Live

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

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

лей Hotmail

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

каждый месяц

Более 6млн

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

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

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

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

й в месяц

Page 11: Roman Zdebskiy - Windows Azure

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

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

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

Серверы

Сеть

ОС

Связующее ПО

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

Данные

Приложения

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

Обсл

уж

ивается

вам

и

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

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

Серверы

Сеть

ОС

Связующее ПО

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

Данные

Приложения

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

Обсл

уж

ивается

вен

дор

ом

Обсл

уж

ивается

вам

и

Платформа

(как сервис)

Обсл

уж

ивается

вен

дор

ом

Обсл

уж

ивается

вам

и

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

Серверы

Сеть

ОС

Связующее ПО

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

Приложения

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

Данные

Приложение

(as a Service)

Обсл

уж

ивается

вен

дор

ом

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

Серверы

Сеть

ОС

Связующее ПО

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

Приложения

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

Данные

Page 12: Roman Zdebskiy - Windows Azure

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

а(как

сервис)

Обсл

уж

ивается

вен

дор

ом

Обсл

уж

ивается

вам

и

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

Серверы

Сеть

ОС

Связующее ПО

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

Приложения

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

Данные

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

Page 13: Roman Zdebskiy - Windows Azure
Page 14: Roman Zdebskiy - Windows Azure

Azure в России

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

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

или allsoft.ru

Page 15: Roman Zdebskiy - Windows Azure

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

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

Вы

чи

сл

ени

я

Время

Среднее

Период

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

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

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

Вы

чи

сл

ени

я

Время

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

Вы

чи

сл

ен

ия

Время

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

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

ычи

сл

ен

ия

Время

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

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

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

Page 16: Roman Zdebskiy - Windows Azure

• 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

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

Page 17: Roman Zdebskiy - Windows Azure

Архитектура 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

Page 18: Roman Zdebskiy - Windows Azure

Платформа Windows Azure

Page 19: Roman Zdebskiy - Windows Azure

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

Fabric ControllerFabric

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

я

Вычисления

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

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

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

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

Page 20: Roman Zdebskiy - Windows Azure

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

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

Worker

roleLB

QWeb role

Page 21: Roman Zdebskiy - Windows Azure

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

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

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

Worker role

Web role

VMrole

Page 22: Roman Zdebskiy - Windows Azure

Web и Worker Роли

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

Page 23: Roman Zdebskiy - Windows Azure

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

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

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

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

Page 24: Roman Zdebskiy - Windows Azure

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

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

От 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

Page 25: Roman Zdebskiy - Windows Azure

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

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

Page 26: Roman Zdebskiy - Windows Azure

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

Page 27: Roman Zdebskiy - Windows Azure

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

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

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

Web Role Reporting

Page 28: Roman Zdebskiy - Windows Azure

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

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

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

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

AppFabric Сервисы

.NET + AppFabric

Compositio

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

ты

AppFabric Контейнер

SQL Azure

Windows Azure

AppFabric Управлени

е

AppFabric Services

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

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

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

Интеграция

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

Page 29: Roman Zdebskiy - Windows Azure

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

Page 30: Roman Zdebskiy - Windows Azure

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

Клиент

Page 31: Roman Zdebskiy - Windows Azure

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

Page 32: Roman Zdebskiy - Windows Azure

Windows Azure Traffic Manager

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

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

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

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

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

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

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

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

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

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

Page 33: Roman Zdebskiy - Windows Azure

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

Page 34: Roman Zdebskiy - Windows Azure

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

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

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

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

Page 35: Roman Zdebskiy - Windows Azure

Ср

ед

а в

ыпол

нени

я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- открытая платформа

Page 36: Roman Zdebskiy - 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

Page 37: Roman Zdebskiy - Windows Azure

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

Page 38: Roman Zdebskiy - Windows Azure

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

Page 39: Roman Zdebskiy - Windows Azure

Архитектура 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

Page 40: Roman Zdebskiy - Windows Azure

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

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

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

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

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

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

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

Page 41: Roman Zdebskiy - Windows Azure

Windows Azure Platform appliance

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

Microsoft

Windows Azure PlatformAppliance

Windows Azure PlatformAppliance

Page 42: Roman Zdebskiy - Windows Azure

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

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

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

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

Page 43: Roman Zdebskiy - Windows Azure

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

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

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

Page 44: Roman Zdebskiy - Windows Azure

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

Page 45: Roman Zdebskiy - Windows Azure

Ресурсы

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

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

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

Page 46: Roman Zdebskiy - Windows Azure

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

Page 47: Roman Zdebskiy - Windows Azure

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

Page 48: Roman Zdebskiy - Windows Azure

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