22
DATA PLATFORM DAY

SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

Embed Size (px)

DESCRIPTION

Для того, чтобы правильно выбрать метод размещения SQL Server в облаке Microsoft, надо знать не только о том, чем отличается PaaS (SQL Azure) от IaaS (SQL Server VM), но и о том, откуда возникли эти различия, и с какими последствиями вы столкнетесь при выборе того или иного метода. В докладе - различия PaaS от IaaS, почему такие различия возникли, архитектура SQL Azure и IaaS-решения, и многое другое.

Citation preview

Page 1: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Page 2: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

SQL In Azure:

PaaS vs IaaS

Page 3: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Infrastructure as a ServiceВиртуальная машина

Platform as a ServiceAzure SQL Database

Опции SQL Server в Azure

Page 4: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Полноценный SQL ServerСлово «полноценный» - важно!

Расположение в Azure StorageНакладывает ограничения оптимизационного

характера

Готовые образы + собственный (LM + SA)

SQL 2008 R2, SQL 2012, SQL 2014

Стандартизированное железо

IaaS Way

Page 5: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Мультитенантное окружение на стандартном железе (< Premium)

Беспокойных соседей не угомонить

Soft/Hard throttling By design, чтобы не сломалось

Шардинг и прочее – через свои решения

PaaS Way

Page 6: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

ДалекоМного хопов и слоев между клиентом и сервером

Нужно делать свою retry logic

Надо брать не сколько дают, а сколько надо

Connection pooling. Ресурсы-то shared.

Далеко не только снаружи, но и внутриЗапрос с клиента идет через фаерволлы, LB, шлюзы, и это важно,

если клиент

любит «поговорить» с сервером

А что такого в облаке?

Page 7: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Технология

Углубляемся

Page 8: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

IaaS: архитектура VM

Виртуальная машина

C:\OS Disk

E:\, F:\, etc.Data Disks

D:\Temporary

Disk Dynamic

VHD

Опции кэшировани

я

BlobsBlob

Striped Volume

Page 9: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Сервер != сервер

SQL Server

Сервер

SQL Database

Server

Точка входа TDS

Page 10: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Сервер != сервер... ???

Services Layer – шлюз между клиентом и слоем платформы

Platform Layer – физические серверы и сервисы «под» сервисным слоем

Infrastructure Layer – «железо»

Infrastructure Layer

PHPWCF Data Services

SQL ServerApplications

and Tools

ODBC ADO.NET

Tabular Data Stream (TDS)

Client Layer

Services Layer

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

TDS+SSL

Platform Layer

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

Page 11: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Безопасность

Azure SQL DB

SQL Server

Только SQL authN

SQL и Windows- authN

TDE нет

Есть TDE

Фаерволл: уровень БД и сервера

Уровень сервера

Встроенная защита от DOS

Автоматические обновления и патчи без простоя

Встроенной защиты нет

Ручной патчинг

Page 12: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Другое

Azure SQL DB

SQL Server

Не поддерживается

Распределенные представления и транзакции

Use CLR SQL Agent & Service Broker

Page 13: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

автоНА

Логическая БД Физические реплики

Реп

ли

ка 1

Реп

ли

ка 2

Реп

ли

ка 3

Фаер

вол

л

Page 14: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Azure SQL DB сломался

Диагностика - сложнее

Page 15: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Основные Bottleneck

Infrastructure Layer

PHPWCF Data Services

SQL ServerApplications

and Tools

ODBC ADO.NET

Tabular Data Stream (TDS)

Client Layer

Services Layer

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

Provisioning

Billing and Metering

Connection Routing

TDS+SSL

Platform Layer

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

SQL Server

SQL Database

Fabric

Management Services

Root cause Почему важно?

Латентность - Больше чем локально- Флуктуации

Открытие подключения

- Логин проходит сначала через шлюз

- Проблемы с промежуточными хопами

Мультитенантность

- Shared- Soft throttling - Hard throttling- Общий лог

1

2

3

1

3

2

Page 16: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

А производительность как?

• Web/Business Edition НЕ предоставляет гарантий по производительности

• Сотни клиентов на один сервер

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

Доступные для БД ресурсы

Время

БД получает разные ресурсы в зависимости от соседей

Page 17: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

И все-таки...

Как выбрать-то?

Page 18: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Начинаем выбирать

   Миграция

У локальной и облачной версий будет общая

кодовая базаРешение зависит от того, что

не поддерживается в Azure SQL DB Есть ли

специфичные требования к изоляции решения

(например, сервер в домене)

Миграция готового

решения или разработка

нового?

Нет

 Можно ли

перепроектировать или

реализовать шардинг?

 Размер БД > 500GB

Да

Windows Azure SQL Database

SQL Server IaaS/On-prem

Новое

Да

Нет Да Нет

Page 19: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Слайд с картинкой

Выбирать надо исходя не только из технических особенностей решения, но и исходя из его стоимости

Page 20: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

A2 (M) (2 ядра, 3.5GB RAM)

В 2013:Всего: $4.87/час, $116.88/день$3,623.48/месяц

Сейчас:Всего:$2.28/час, $54.72/день$1696.32/месяц

SQL Server Enterprise,Windows Azure VM HA: (+ 2 реплики ВМ)

P2 (2 ядра, 16GB RAM)

В 2013:Всего: $2.51/час, $60.31/день$1,869.50/месяц

Сейчас:Всего: $1.25/час, $30/день$930/месяц

Windows Azure SQL Database PremiumHA: 2 реплики включены

DB

Картинка

Page 21: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

DATA PLATFORM DAY

Картинка

Резюмируя – Azure SQL DB

Все то, что для SQL Server

Поддержка Powershell

Отсутствие необходимости обновлять и патчить СУБД и ОС

HA как встроенная опция

99.9% SLA на аптайм

Резервирование ресурсов и масштабирование

Интеграция с привычным инструментарием

Проверенные технологии

21

DB

Page 22: SQL Server in Microsoft Azure cloud: IaaS way vs PaaS way

Спасибо за внимание :)