Запуск SQL Server в облаке: выпуск 2017
У вас есть два основных варианта при облачном запуске SQL Server:
Инфраструктура как услуга (IaaS) - это простые виртуальные машины, работающие в чужом центре обработки данных - будь то Amazon, Google или Microsoft. Рабочие обязанности для DBA такие же, как и на виртуальных машинах: вы управляете HA, DR, обновлениями, резервными копиями и настройкой производительности. Просто у вас могут быть несколько разные методы или шаги по настройке для их выполнения - но число изменений, которое вам нужно было сделать, чтобы переключиться с физических на виртуальные машины, будет тем же.
Платформа как услуга (PaaS) очень отличается. Amazon RDS для SQL Server и SQL Azure SQL DB похожи на получение DBA-as-a-service. Они управляют HA, DR, исправлениями, резервными копиями и в некоторых ограниченных случаях настройкой производительности самостоятельно.
Ваше решение об этих двух вариантах будет зависеть от выполняемых вами задач:
Производственные администраторы баз данных обычно настаивают на инфраструктуре как услуге.
Производственные администраторы баз данных рассматривают недостающие функции в предложениях платформы как услуги и говорят: «Подождите, вы говорите мне, что я не получаю SQL-агент? Я не могу напрямую привязывать базу данных? Я не могу запустить sp_configure или провести настройки TempDB? Значит это не настоящая база данных!» Производственные администраторы баз данных, как правило, нуждаются в более “ручном” управлении, которое предоставляет инфраструктура как услуга.
Проблема в том, что инфраструктура как услуга не сильно упрощает вашу работу: у вас все еще есть те же обязанности по работе, что и раньше, плюс вам нужно изучить новые инструменты для развертывания и устранения неполадок Windows. Вам нужно научиться работать со своими серверами, как если бы вам пришлось совладать с крупным рогатым скотом, и научиться использовать автоматизированные инструменты развертывания.
Это не значит, что IaaS плохой - он замечательный. Любой производственный DBA влюблен в нее.
Но всем остальным нужна платформа как услуга.
Потому что все остальные никогда не любили делать работу администратора баз данных.
Видите ли, производственные администраторы баз данных печально известны своим повсеместным «Нет», например: «Нет, вы не можете иметь доступ как SA.», «Нет, вы не можете включить эту функцию.», «Нет, вы не можете поместить SQL Server в DMZ.» Разработчики, менеджеры и конечные пользователи хотели бы найти способ избежать найма специалиста по отрицанию.
С решениями PaaS вы платите хостинг-провайдеру за выполнение многих традиционных обязанностей производственных DBA. (Фактически, у хостинг-провайдера есть новая функция «Не запрашивать», например, когда Microsoft удалила SQL CLR-поддержку из Azure SQL DB с недельным уведомлением).
Разработчики любят PaaS, потому что нет DBA вокруг, чтобы сказать «нет». Менеджеры любят PaaS, потому что у них есть проблема заполнения рабочих мест DBA. Консультационные компании DBA любят PaaS, потому что они могут помочь клиентам мигрировать в облако, освобождая их от некоторого давления производственных DBA.
Рынок PaaS все еще сильно меняется.
Так как 2017 подошел к концу, в дальнейшем есть 3 варианта для SQL Server:
Amazon RDS для SQL Server - Amazon покупает продукт с боксом SQL Server, устанавливает его в EC2 (VM), вносит в него некоторые изменения, чтобы они могли управлять, а затем перепродавать его вам. Это означает, что это тот же самый продукт в коробке, который вы знаете и любите, хотя и с множеством неподдерживаемых функций (AG, stretch database, BULK INSERT, CDC, DQS, отправка журналов, почта базы данных, распределенные запросы, связанные серверы ...)
Microsoft Azure SQL DB - подумайте об этом как о следующей версии SQL Server, но размещенной у Microsoft. В то время как он придерживается некоторых вещей из той же базы кода, он определенно не совпадает с продуктом в штучной упаковке. Например, запросы с кросс-базами технически выполнимы, но на практике это проблематично. Такой вариант не очень подходит для подъема и перемещения существующего приложения в облако, но оно прекрасно подходит для совершенно новых приложений, выполненных с нуля.
Microsoft Azure SQL DB Managed Instances - сейчас только в приватном предварительном просмотре, но скорее всего это будет традиционный продукт с SQL Server, но управляемый Microsoft. Это отлично подходит для подъема и перемещения существующего приложения, но цена, вероятно, будет дороже, чем Azure SQL DB (это неплохо - это просто означает, что здесь вы не должны создавать новые сборки приложений).
В 2018 году мы, скорее всего, увидим:
- Microsoft перейдет к общей доступности с управляемыми экземплярами, раскрывая ценовую и региональную доступность
- Amazon переключится на что-то лучшее, чем зеркальное отображение базы данных для RDS HA / DR
- Новых игроков на рынке