Компания Microsoft объявила о новом пополнении «облачных» служб Azure для SQL Server — управляемом экземпляре базы данных Azure SQL Database Managed Instance. Пока выпущена лишь предварительная версия продукта (https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance), но хочется верить, что он заполнит брешь для клиентов, желающих перенести в «облако» приложения, которые работают с Microsoft SQL Server. Управляемые экземпляры дополняют другие продукты и службы, относящиеся как к категории самостоятельных Singleton, так и к пулам баз данных Elastic Pool.

До выпуска управляемого экземпляра базы данных Azure SQL варианты развертывания Microsoft Azure SQL Database ограничивали доступ к любым параметрам уровня экземпляра SQL Server. Отсутствовали и варианты самостоятельных и эластичных пулов баз данных для агента SQL Server, службы планирования и выполнения заданий для Microsoft SQL Server. Недостаточный контроль параметров уровня экземпляра, таких как минимальная и максимальная память сервера и параллелизм, не позволял администраторам баз данных эффективно управлять рабочими характеристиками.

Еще более неприятно отсутствие агента SQL Server как для самостоятельных, так и для эластичных пулов баз данных. Этот пробел заметно ограничивает возможности компаний по переносу экземпляров SQL Server в «облако», поскольку агент широко используется для планирования любых заданий SQL Server, от повседневных задач до сложных процессов загрузки хранилищ данных, а также критически важной бизнес-логики, выполняемой на уровне данных, но в определенное время или по расписанию.

Невозможность управлять поведением SQL Server на уровне экземпляра и планировать конкретные задания внутри SQL Server через агент SQL Server вынуждает выбирать между сохранением локального решения и переходом в «облако» Azure через выделенную виртуальную машину Azure (вариант IaaS). Структура стоимости Azure IaaS значительно отличается от предоставляемой через базу данных Azure SQL, будь то Singleton или Elastic Pool. После объявления об управляемом экземпляре Azure SQL Database Managed Instance выбор выглядит по-другому.

Платформа как служба (PaaS)

Предполагается, что управляемый экземпляр базы данных Azure SQL станет предпочтительным вариантом для компаний, желающих перенести локальные и даже существующие развертывания IaaS на полностью управляемый вариант PaaS. Благодаря PaaS в управляемом экземпляре базы данных Azure SQL приобретение, обслуживание и внедрение оборудования перестают быть заботой компании. Управление обслуживанием инфраструктуры полностью возлагается на платформу Azure. Кроме того, все обновления и исправления происходят скрыто и не отнимают времени у администраторов баз данных, освобождая их для решения стратегических задач.

Обеспечение непрерывности бизнес-процессов с помощью Azure SQL Database Managed Instance

Благодаря хранилищу Azure класса Premium время доступности управляемого экземпляра базы данных Azure SQL достигает 99,99%. Избыточность, заложенная в базовую структуру Azure SQL Database Managed Instance, также обеспечивает высокую доступность, которая является неотъемлемой характеристикой данной архитектуры. Это значительное преимущество и экономия по сравнению с традиционными локальными развертываниями групп доступности (AG) Always On, поскольку отсутствуют затраты на приобретение и промежуточную обработку полностью кластерной среды по крайней мере с одним соответствующим сервером. Это также полезно с точки зрения обслуживания и управления, поскольку любые отработки отказов, обеспечивающие избыточность в управляемом экземпляре, реализуются внутри архитектуры Azure.

Как для построения, так и для администрирования решений с высокой доступностью требуется высококвалифицированный персонал. Но процесс развертывания или перехода на управляемый экземпляр освобождается от сложности, связанной с построением структур высокой доступности. Большинство повседневных административных задач, обычно выполняемых администраторами баз данных, автоматически управляются средствами, реализованными на платформе Azure: резервное копирование автоматизировано, а параметры хранения можно настраивать в Azure SQL Database Managed Instance, при этом в случае необходимости пользователи могут инициировать создание дополнительных резервных копий. Управляемый экземпляр базы данных Azure SQL наделен способностью выполнять восстановление на момент времени, что позволяет безотлагательно восстанавливать данные, существовавшие перед каждым событием, требующим восстановления базы данных.

Безопасность и соответствие требованиям

В отличие от вариантов баз данных Azure SQL Database, Azure SQL Database Managed Instance представляет собой изолированную среду. Вы не делите экземпляр с другими клиентами, как в многоабонентском режиме. Вы располагаете выделенными вычислительными ресурсами, хранилищем и поддержкой проверки подлинности AD, в отличие от отдельных экземпляров с фиксированными ресурсами и эластичных пулов баз данных. Пересылаемые данные шифруются и, как в других базах данных Azure SQL, предусмотрены встроенные функции обнаружения угроз и аудита SQL.

На сегодня реализовано два предварительных варианта аппаратных средств:

  • поколение 4 — процессоры Intel E5-2673 v3 (Haswell) 2,4 ГГц, подключенный твердотельный накопитель, vCore = 1 PP (физический процессор), предоставляющий 8, 16 и 24 ядра vCore;
  • поколение 5 — процессоры Intel E5-2673 v4 (Broadwell) 2,3 ГГц, быстрый твердотельный накопитель eNVM, vCore = 1 LP (логический процессор с поддержкой Hyperthreading), предоставляющий 8, 16, 24, 32 и 40 ядер vCore

Технические характеристики продукта

  • Показатели памяти различаются между вариантами центрального процессора. Gen4 позволяет подключать до 7 Гбайт на ядро, а Gen5 — до 5,5 Гбайт на ядро.
  • По истечении предварительного периода цель — добиться почти стопроцентного соответствия с новейшей версией SQL Server Enterprise Edition. Сама платформа представляет собой последнюю имеющуюся версию Microsoft SQL Server.
  • Хранилище Azure Premium с минимальной емкостью 32 Гбайт и максимальной емкостью 8 Тбайт.
  • На сегодня диапазон количества операций ввода-вывода в секунду составляет от 500 до 7500 на файл данных. Скорость определяется ограничениями, свойственными хранилищу Azure класса Premium.

Жесткие ограничения числа баз данных — повод для беспокойства

Сейчас для Azure SQL Database Managed Instance действует строгое правило: 100 баз данных на управляемый экземпляр. Этого достаточно для большинства компаний, но некоторые из них, например поставщики инфраструктуры как услуги (IaaS) с сотнями и даже тысячами баз данных на экземпляр, обнаружат, что из-за этого ограничения управляемые экземпляры, скорее всего, окажутся непригодными для поддержки их структуры в простом процессе переноса в «облако». Если горизонтальное масштабирование приемлемо для нужд компании, то, возможно, масштабирование с одного локального экземпляра SQL Server до нескольких управляемых экземпляров останется рабочим вариантом. В случае с PaaS достигается значительная экономия. Сокращение затрат на управление оборудованием, оплату труда, электроэнергию и сервисные контракты, а также выигрыш от повышения эффективности в различных областях вполне могут превзойти дополнительные расходы, связанные с несколькими управляемыми экземплярами на одном сервере, размещенном в центре обработки данных компании.

Следующие шаги

Тем, кто заинтересовался управляемыми экземплярами, компания Microsoft предоставляет разнообразные ресурсы, которые помогают в процессе принятия решений. Помимо обращения непосредственно в Microsoft, вы можете найти ресурсы по приведенным ниже ссылкам:

  • обзор Azure SQL Database Managed Instance (https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-instance);
  • расценки на базы данных Azure SQL Database (https://azure.microsoft.com/en-us/pricing/details/sql-database/managed/);
  • новые возможности модернизации приложений базы данных Azure SQL (https://azure.microsoft.com/en-us/blog/new-options-to-modernize-your-application-with-azure-sql-database/).