Бизнес применяет самые разные способы хранения корпоративных документов и персональных данных. Среди них встречаются нестандартные решения. Так, в одной западной компании, занимающейся разработкой, записи хранили в обычном текстовом файле JSON на диске, пока не перешли на etcd — key-value базу данных (позже компания вернулась к концепции единого файла из-за личных предпочтений фаундера).
В принципе любая компания может развернуть систему управления базами данных самостоятельно, если есть собственный ИТ-отдел и необходимые компетенции. Однако не каждая компания может себе позволить нанять администратора баз данных, чтобы тот занимался поддержкой. Следил за ресурсами, использованием оперативной памяти и хранилища и при необходимости их увеличивал, а также обеспечивал мониторинг, регулярное бэкапирование, настраивал оптимальную конфигурацию сервера СУБД.
Упростить все эти задачи можно, используя облачные базы данных по модели DBaaS (Database-as-a-Service). Что еще могут предложить базы данных в облаке? Как минимум две вещи — масштабируемость и производительность. О них расскажем далее. Материал подан доступно для начинающих.
СУБД уходят в облака
Наиболее распространенными инструментами в сфере хранения и управления данными по-прежнему остаются коммерческие решения, однако открытые платформы вроде MySQL, Redis, SQLite и PostgreSQL также обзавелись обширной аудиторией. Последнюю, например, даже применяют на Международной космической станции, и все они регулярно попадают в топ самых популярных систем управления базами данных в опросах на Stack Overflow.
На то есть несколько причин, и первая из них — это производительность. Они справляются с параллельной обработкой задач, поддерживают десятки типов данных и предлагают вспомогательные инструменты — например, функции GIS для работы с пространственными данными, временными рядами и геометрическими типами.
Вторая причина — надежность и защищенность. Открытое программное обеспечение регулярно проходит независимые аудиты на безопасность, а открытость кода позволяет самостоятельно вносить в него изменения при необходимости.
Каждая открытая СУБД обладает своими сильными сторонами, однако многие из представленных реляционных решений не очень хорошо работают с тысячами серверов. Однако на помощь могут прийти облачные технологии, которые повышают ресурс масштабируемости. И на этом возможности облака для работы с БД не заканчиваются.
Плюсы, минусы и эффекты DBaaS
Для хранения данных нужно железо — закупить его в текущих условиях не так и просто для малого и среднего бизнеса. Когда компания переносит БД в облако, ей больше не нужно самостоятельно приобретать оборудование. В то же время провайдер берет на себя всё обслуживание и отвечает за:
- безопасность данных;
- резервное копирование и восстановление;
- своевременную установку обновлений;
- контроль нагрузки.
Также возрастает стабильность сервиса, поскольку облако позволяет запускать резервные реплики. На них переключается нагрузка, если на основном сервере с базой произошел сбой — пользователи не заметят неполадки.
В портфолио поставщика DBaaS есть инструменты, направленные на повышение информационной безопасности. Например, что делаем мы в #CloudMTS:
- ограничиваем доступ извне по определённым сетевым портам;
- регулярно сканируем кластеры БД на уязвимости;
- предоставляем возможности облачного файервола для ограничения доступа с определённых IP-адресов (клиент может ходить с конкретного постоянного IP-адреса, доступ с остальных будет заблокирован).
Хотя стоит отметить и потенциальные проблемы, возникающие в процессе работы с облачными базами данными. Принципы взаимодействия с БД одинаковы у разных провайдеров, но зачастую они входят в целую экосистему сервисов — виртуальных машин, виртуальных дата-центров и контейнеров. Глубокое погружение в неё может приводить к ситуации vendor lock-in, а миграция инфраструктуры из облака одного поставщика в другое — не самая простая задача.
Другой нюанс — отсутствие доступа к виртуальным машинам, на которых хранятся БД, и системным пользователям СУБД. Провайдер намеренно ограничивает возможность изменений конфигурации сервиса, поскольку сам несет ответственность за его работоспособность и снижает число точек отказа.
Как начать работу с DBaaS
DBaaS в личном кабинете #CloudMTS
Здесь стоит обратить внимание на наличие подходящего пула ресурсов у поставщика услуги, достаточного для решения задач. Также важна функциональность, связанная с резервированием. Необходимо подробно расспросить техподдержку о стратегии работы с бэкапами. Нормальная практика, когда резервные копии размещают отдельно от машин с базами данных.
Другой важный аспект — наличие инструментов для защиты БД, а также уровень компетенций технической поддержки в вопросах кибербезопасности. Например, у нас эти задачи решает выделенная команда специалистов.
Что касается развертывания кластеров баз данных, здесь все зависит от выбранного облачного провайдера. Однако в большинстве случаев этот процесс сводится к указанию требуемых параметров — например, объёма вычислительных ресурсов и конфигурации кластера — в панели управления при создании услуги.
Далее рассмотрим на примере кластера PostgreSQL в облаке #CloudMTS (этот раздел у нас доступен после регистрации).
Создание кластера
Кластер формируется автоматически, пользователю остаётся подключить его к своему приложению и определить структуру хранения данных. Дальнейшая поддержка и решение всевозможных проблем кластера БД ложится на плечи облачного провайдера.
Если необходимо масштабировать объем ресурсов, выделенных под БД, — например, под пиковую нагрузку во время распродажи — достаточно зайти в личный кабинет и изменить конфигурацию.
Работа в формате DBaaS имеет свои ограничения и подойдет не для всех компаний. Сервис позволяет гибко настроить кластеры баз данных, но он не подойдет организациям с особыми требованиями к конфигурации и устанавливаемому ПО. В таких случаях стоит проконсультироваться с провайдером и, возможно, развернуть кластер БД в рамках проектных услуг по развёртыванию и сопровождению. В любом случае специалисты #CloudMTS всегда помогут решить технические моменты и ответят на вопросы по продуктам.
fzfx
Попробовал повторить ваш пример создания кластера. Кнопка "Создать" неактивна. Почему неактивна - нигде не написано. Это баг? Это ограничения бета-версии? Недоработка пользовательского интерфейса? Или связано с тем, что где-то в среди прочих элементов управления я ничего не производил с пунктом "Настройка сети" (хотя мне сеть как-раз таки и не нужна, посмотреть я хотел только на облачную СУБД)?
randall Автор
Добрый день. Да, для создания кластера необходимо указать настройки сети. Обратите внимание, что справа на экране есть кнопка "Обратная связь". Через нее можно выйти на службу технической поддержки.
Также у нас есть база знаний с инструкциями по настройке (полностью открыта, регистрация не требуется). По DBaaS все подробности изложены тут.