Являются ли контейнеры ответом для вашей среды базы данных SQL Server?

Опубликовано: 16 Апреля, 2023
Являются ли контейнеры ответом для вашей среды базы данных SQL Server?

Несколько лет назад в Microsoft произошло нечто потрясающее: команда Windows Base в Microsoft начала думать о том, как добавить поддержку Docker для контейнеров в Windows Server. Результатом стали контейнеры Windows Server, которые были представлены в качестве новой функции в Windows Server 2016. За этим последовал каскад усилий Microsoft по внедрению и расширению технологии контейнеров как для локальных, так и для облачных сред. Преимущества использования контейнеров для размещения приложений и служб рабочей нагрузки были очевидны: более высокая доступность, большая масштабируемость, большая гибкость, улучшенное использование ресурсов. Многим предприятиям и организациям переход на архитектуру микросервисов на основе контейнеров казался легкой задачей.

Хотя была одна проблема. Многие магазины, основанные на инфраструктуре Windows Server, также используют Microsoft SQL Server в качестве ключевой части этой инфраструктуры. Контейнеризация SQL Server оказалась сложной для существующих версий SQL Server. Чтобы больше узнать о проблемах, с которыми Microsoft столкнулась при внедрении контейнеров SQL Server, и о том, как два предприимчивых бывших сотрудника Microsoft разработали решение, я недавно поговорил с Полом Стэнтоном, соучредителем WinDocks, фирмы, специализирующейся на контейнерах Docker SQL Server.

МИТЧ: Спасибо, Пол, за то, что согласился дать мне интервью о проблемах и преимуществах контейнеризации Microsoft SQL Server.

ПОЛ: Спасибо, Митч, я ценю эту возможность.

МИТЧ: Пол, для любого из наших читателей, которые, возможно, еще не слишком знакомы с контейнерами, не могли бы вы начать с краткого объяснения того, что представляет собой эта технология и почему многие предприятия заинтересованы в ней?

Руководители предприятий признают стратегическую роль контейнеров для модернизации приложений и внедрения облачных технологий.

ПОЛ: Открытый исходный код Docker был запущен в 2014 году и с тех пор стал стандартом де-факто для современной разработки программного обеспечения, поддерживая дистрибутивы Linux и Microsoft Windows, а также все общедоступные облака. Контейнеры обеспечивают упаковку приложений с гарантированной переносимостью. Раньше разработчик мог поделиться обновленным приложением, которое часто требовало отладки для устранения различий в конфигурации машины. Контейнеры решают эту проблему упаковки и «просто запускаются» на разных серверах или в облаках.

Руководители предприятий признают стратегическую роль контейнеров для модернизации приложений и внедрения облачных технологий. Microsoft, Red Hat, Amazon и другие компании делают контейнеры центральным элементом планов развития продуктов и услуг.

МИТЧ: Контейнеры хороши для всех или их вариант использования более ограничен конкретными приложениями и рабочими нагрузками на серверы для определенных типов предприятий или организаций?

ПОЛ: Контейнеры Docker изначально были ориентированы на поддержку приложений без сохранения состояния, но они были расширены для поддержки серверных частей с отслеживанием состояния. MySQL и Postgres входят в пятерку лучших образов Linux, а Microsoft делает упор на поддержку контейнеров Linux для SQL Server 2017 и 2019. Контейнеры теперь являются предпочтительной архитектурой для полнофункциональных программных решений.

Microsoft SQL Server в контейнерах

МИТЧ: Теперь давайте сосредоточимся на запуске Microsoft SQL Server в контейнерах. Почему это так сложно? Каковы проблемы по сравнению с выполнением других видов серверных рабочих нагрузок в контейнерах? Когда я спрашиваю: «Почему это сложно?», я имею в виду трудности использования решения только от Microsoft, а не WinDocks. Мы доберемся до WinDocs через мгновение.

ПОЛ: Microsoft существенно переработала Windows Server 2016 для поддержки контейнеров Docker Linux. В новом дизайне каждый контейнер включает в себя приложение плюс часть ОС Windows и работает на ядре Windows. Эта архитектура, к сожалению, нарушает совместимость с существующими системами и инфраструктурой. Контейнеры Microsoft Windows SQL Server не поддерживают проверку подлинности Windows, VSS, SQL Writer и другие приложения. С контейнерами, включающими части ОС, каждое обновление Windows требует пересборки контейнеров, что усложняет обслуживание. Образы Windows также известны своей большой емкостью и ресурсоемкостью, в среднем более 10 ГБ. В новой архитектуре также возникли проблемы с безопасностью, поскольку общедоступные репозитории изображений потенциально могут содержать вредоносный код и уязвимости в системе безопасности.

Эти проблемы имеют ограниченное применение, и подразделение Microsoft SQL Server переориентировало поддержку контейнеров SQL Server на Linux. Прошел год с тех пор, как Microsoft в последний раз обновляла образы контейнеров Windows SQL Server.

МИТЧ: Что побуждает предприятия и организации использовать SQL Server в контейнерах? Есть ли какие-то преимущества перед простым запуском на виртуальной машине в облаке IaaS?

ПОЛ: Контейнеры SQL Server обеспечивают безопасную изолированную среду для разработки и тестирования за считанные секунды. Если раньше пять разработчиков работали на отдельных машинах, то теперь они могут выделять изолированные контейнеры за считанные секунды на общем хосте. Результатом является более высокая производительность, повышенная безопасность, а также снижение затрат на техническое обслуживание и экономичность. Охват тестами расширяется, и организации получают улучшенное качество выпуска программного обеспечения.

Производственное использование контейнеров SQL Server также развивается. Контейнеры SQL Server с SSRS вызывают интерес из-за добавления поддержки SSRS в SQL Azure и AWS RDS (оба не поддерживают SSRS). Контейнеры SSRS также применяются для горизонтального масштабирования SSRS.

МИТЧ: Итак, расскажите нам немного о WinDocks. Почему вы разработали его вместе с Рамешем Парамешвараном?

ПОЛ: Рамеш и я встретились в Microsoft, где мы работали над межплатформенной поддержкой Windows NT, когда поддержка UNIX System V была важной целью! Мы посчитали, что возможность предоставить независимый порт исходного кода Docker для Windows слишком привлекательна, чтобы упустить ее!

МИТЧ: Очень кратко, как работает WinDocks?

ПОЛ: Контейнеры WinDocks SQL Server представляют собой полные именованные экземпляры, каждый из которых имеет записи реестра Windows, поддерживает проверку подлинности Windows и работает как служба Windows. Дизайн обеспечивает преимущества контейнеров Docker, сохраняя при этом совместимость с существующими системами и инфраструктурой.

WinDocs позволяет избежать проблем с безопасностью общедоступных реестров образов, клонируя локально установленный экземпляр SQL Server для создания контейнеров SQL Server. Благодаря широкому использованию на предприятии создание контейнеров SQL Server посредством клонирования экземпляров является проверенным временем, с определенными преимуществами в плане безопасности и поддержкой существующей инфраструктуры. Контейнеры WinDocks SQL Server также поддерживают расширяющийся набор служб SQL Server, включая ядро базы данных, службы SSRS, обозреватель SQL и другие службы.

МИТЧ: Опять же, с высоты птичьего полета, какие высокоуровневые шаги должен выполнить администратор SQL для переноса локального экземпляра SQL Server или экземпляра на базе виртуальной машины в контейнер с WinDocks?

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

ПОЛ: WinDocks требует 10-минутной установки на Windows Server 2012 R2 или Server 2016, и пользователи могут начать создавать контейнеры в течение нескольких минут. Бесплатная версия WinDocks Community Edition позволяет новым пользователям ознакомиться с контейнерами в Windows 8.1 или 10, версиях Pro и Enterprise, а также в Windows Server 2012 R2 и 2016.

МИТЧ: Какой была реакция на WinDock в корпоративном секторе?

ПОЛ: Растет осведомленность о том, что WinDocks — правильный выбор для контейнеров Windows SQL Server, и в этом квартале мы снова вырастем на 50%. Финансовые услуги и здравоохранение являются ведущими рынками с высокой степенью удовлетворенности клиентов.

Подробнее о WinDocs

МИТЧ: Доступны ли в Интернете какие-либо демонстрации или учебные пособия, где администраторы SQL Server могут узнать больше о том, как работает WinDocks и что он может делать?

ПОЛ: Полная документация доступна на WinDocks.com, и каждая установка включает в себя готовые примеры (WinDockssamples). Большинству администраторов баз данных удобно работать с WinDock через 2-3 часа.

МИТЧ: Что еще вы хотите добавить? Например, что будет дальше за горизонтом? ?

ПОЛ: Есть ряд интересных тенденций. Администраторы баз данных и разработчики будут все чаще управлять сквозной доставкой данных, поскольку системы хранения абстрагируются системами на основе контейнеров. Кроме того, доставка данных не будет ограничиваться только контейнерами. WinDocks поддерживает доставку данных во все среды SQL Server, включая контейнеры Microsoft SQL, обычные экземпляры SQL Server и службы SSRS в общедоступном облаке. Контейнеры также должны улучшить управление данными и безопасность. Образы контейнеров обеспечивают основу для безопасного корпоративного каталога данных с проверяемой записью образов, мер безопасности и использования.

МИТЧ: Пол, большое спасибо, что уделили нам немного своего драгоценного времени.

PAUL: Спасибо, было приятно.

Дополнительное чтение

Ознакомьтесь с этим учебным пособием Андерсона Патрисио на нашем сайте, если вы хотите узнать больше о том, как использовать контейнеры Windows Server: Нет больше новичков: запуск ваших первых контейнеров Windows Server.