Базы данных для многих ИТ-инфраструктур играют важнейшую роль, которую эти проекты готовы доверить облачным провайдерам, перенося БД в облако. Для этого используется модель DBaaS, упрощающая и ускоряющая работу с базами. Несмотря на ее эффективность, она обладает также и большим количеством технических нюансов и подробностей, без понимания которых не получится подобрать правильное решение и подходящего хостера.
Миграция к следующему провайдеру — очень трудозатратный и сложный процесс, поэтому часто менять их не получится, выбор нужно делать обоснованно. О том, как его сделать правильно, мы и расскажем сегодня.
Что такое DBaaS?
DBaaS (Database as a service) или базы данных в облаке — это БД, запускающиеся на платформах облачных вычислений, т.е. в частном, публичном или гибридном облаке. Они предлагаются как крупными, так и небольшими провайдерами, физически размещаются на серверах хостера в дата-центрах и работают через мировую паутину. Хостер берет на себя не только обеспечение оборудования, но и предлагает помощь в управлении, обслуживании и администрировании БД. Не следует путать DBaaS с облачным хранилищем, о котором можно почитать в другой нашей статье.
DBaaS обладают всем кругом облачных преимуществ:
- Вы автоматизируете управление базами данных. Регулярные бэкапы, обновление ПО, защита от ДДоС-атак, а в случае необходимости и работа системных администраторов — все это как правило на облачном провайдере.
- Вам не нужно покупать серверы и обустраивать под них отдельное помещение. Вместо капитальных затрат можно обойтись оперативными, причем платить нужно только за используемые мощности.
- Если возникает необходимость масштабироваться, то делается это буквально в несколько кликов. При этом оплачивать нужно будет столько мощностей, сколько вам нужно, а не столько, сколько идет в очередном заказанном сервере, плашке оперативной памяти или жестком диске.
- Не нужно следить за оборудованием — его безопасностью, обслуживанием и условиями работы будет заниматься центр обработки данных и его инженеры. Соответственно с вас необходимость заботиться о железе минует.
- Облачные базы данных обладают гарантированной надежностью. Опять же это козырь крупных дата-центров: выстроить такую надежную систему у себя в серверной вряд ли получится, если нет нескольких лет времени и крупных капиталов.
В общем, многие компании, нуждающиеся в ведении баз данных, вместо найма дополнительных специалистов используют облачное решение.
Насколько DBaaS — расхожее решение?
Создать облачную базу данных — общеупотребимое решение. Скорее нужно рассказать, в каких случаях не стоит обращаться к облачным базам данных:
- Главным условием работы с базами данных для вас является исключительная безопасность. Если для вас прицельные кибератаки, утечки информации, промышленный шпионаж — суровая и реальная угроза, а не фантастика, то безопасностью лучше заниматься самостоятельно. Иначе ничьи условия по безопасности вас никогда не удовлетворят.
- У вас повышенные требования к совместимости с локальной системой и процессам миграции данных. Интеграция облачных и локальных систем часто становится точкой преткновения, а проблемы такого взаимодействия действительно могут оказаться серьёзным контр-аргументом против использования DBaaS.
- У вас серьезные запрос по скорости доступа к данным и производительности. Тут все решается уже индивидуально - быть может, взаимодействием с провайдером и индивидуальным подходом; или отказом от выхода в облачные базы данных.
- Вам необходимо глубокое управление данными. Большая часть разновидностей DBaaS ограничивает клиента в доступе к управлению и конфигурированию БД — передавая базу данных в облако придется полностью опереться на хостера услуги.
Если эти случаи не ваши — то однозначно стоит по крайней мере оценить для себя возможный выход в облачные базы данных.
Однако необходимо будет определиться с тем, чем именно вам может помочь облачная база данных.
Какие бывают базы данных
Обычная база данных у вас в серверной называется локальной. Она используется внутри вашей организации, ее создают, оптимизируют, настраивают ваши собственные специалисты.
Остальные базы данных разделяются на несколько разновидностей:
- Традиционные — от локальных отличаются только тем, что вы развернете их в облаке, и больше ваш провайдер не будет иметь к ним никакого отношения. С ними работают ваши специалисты, они сами используют ваши средства автоматизации, да и ответственность за управление такой БД понесете вы сами.
- Автоматизированные облачные базы данных используют API-интерфейс облака чтобы оптимизировать задачи, связанные с их обслуживанием. Конфигурация и операционная система БД контролируется клиентом. SLA-соглашение, как правило, урезано по сравнение с следующим, ещё более «облачным» форматом.
- Управляемые облачные базы данных не подразумевают доступа клиента к серверам и установки им ПО, конфигурации — только поддерживаемые поставщиком. SLA полное, поскольку БД занимается скорее провайдер, чем клиент.
- Автономные облачные БД — это недавно появившаяся модель, в которой БД вручается под управление и автоматизацию технологии машинного обучения. SLA распространяется на критически важные для бизнеса сферы: при проведении плановых и неплановых работ, а также проведения цикла обслуживания, гарантируется непрерывность доступа к БД.
Как же определиться с выбором?
для этого используется несколько критериев.
1. Функциональность
Разберитесь, что конкретно предлагает вам возможный хостер.
- Резервное копирование
Облачной базе данных его должны обеспечивать инженеры провайдера. Как часто и насколько глубоко они будут делать бэкапы вашей базы данных? Как долго будут храниться копии?
- Типы репликации СУБД
Будут ли предоставлены синхронная и асинхронная репликации? Благодаря им можно оптимизировать скорость и надежность СУБД-кластера. Первая гарантирует надежность записей, вторая повышает скорость записи и чтения информации.
- Вертикальное масштабирование
Мгновенное дополнение вашей инфраструктуры всеми необходимыми мощностями: процессорами или даже процессорными ядрами, операционной памятью и новыми дисками. В отношении базы данных такое масштабирование должно происходить без отключения приложения.
- Горизонтальное масштабирование
Позволяет оптимизировать соотношение цены и надежности предоставленного решения. С ним из тестовой инсталляции можно быстро развернуть отказоустойчивый кластер почти любого нужного размера, а также контролировать нагрузку, перенаправляя ее с основного сервера на дополнительные, разворачиваемые по необходимости.
- Специфическое исполнение баз данных.
Разные БД могут требовать разного подхода с оптимизацией кластера на уровне операционной системы, дополнительного ПО, оптимизацией различных операций. Благодаря такому индивидуальному подходу у одних провайдеров базы данных под определенные приложения будут эффективнее, чем у других; иногда их производительность может отличаться в разы, а иногда даже и в десятки раз.
2. Оборудование и оптимизация
Не менее важно, чем само предложение хостера, также знать, что у него «под капотом»: базы данных очень чувствительны к оборудованию, которое предлагается использовать.
- Сетевые диски
Если ваш провайдер собирается их использовать, убедитесь, что только для холодного хранения крупных массивов информации. Иначе они будут порождать очень заметные сетевые задержки.
- Локальные диски
Высоконагруженные БД требовательны к дискам, и лучше использовать локальные: это уменьшит сетевые задержки.
- Процессоры и оперативная память серверов
Высокочастотные процессоры понадобятся для оперативной обработки запросов и быстрого оперирования данными. Оперативная память повысит и доступ к БД, и ее производительность. Чем качественнее эти компоненты, тем лучше будет работать база данных. Только высокочастотные процессоры и RAM допустимы для работы с высоконагруженными БД, иначе сама работа превратиться в муку, если вообще будет возможна.
- Дополнительный контур служебной нагрузки
Вашей БД понадобится дополнительный сетевой контур для резервного копирования, мониторинга, репликации и т.д. Сетевые каналы таким образом будут разгружаться и БД станет работать быстрее и проще.
3. Безопасность
База данных в информационной безопасности рассматривается как ключевой элемент. Количество стандартов, которым обязан соответствовать хостер, велико! Он должен исполнять недавно принятый 152-ФЗ «О персональных данных», 21 приказ СТЭК об организации защиты конфиденциальной информации, а также целый ряд международных стандартов об управлении безопасностью информации (ISO/IEC 27001), безопасности в облаке (ISO/IEC 27017) и персональных данных в нем (ISO/IEC 27018).
Однако отдельно вам нужно проверить SLA вашего провайдера. Соответствует ли оно вашим ожиданиям?
4. Мониторинг
Это также очень важный параметр, который необходимо отдельно проверить. Есть ли в технической документации детально описанные метрики, которые снимаются с системы? Постоянно ли их предоставляет система мониторинга, есть ли простая и доступная визуализация? Все ли уровни системы находятся под наблюдением, включая служебные компоненты, приложение БД, сеть, ОС, виртуальные машины и серверы?
5. Техническая поддержка
Возможность грамотной и заботливой, а еще оперативной коммуникации с технической поддержкой провайдера зачастую является решающим компонентом вашего взаимодействия. Тут достаточно будет просто позвонить в техподдержку и задать все вопросы, которые у вас возникнут о хостере.
Резюме
Правильный выбор DBaaS позволит оптимизировать работу с базами данных, сделать ее быстрее, надежнее и дешевле. Неправильный, соответственно, приведет к потере времени и денег, а еще к неоправданным рискам. Доверяя работу с базами данных третьей стороне вы оказываете ей очень большое доверие и в зависимости от выбранного решения теряете прямой доступ к этой информации. Управление данными и контроль их безопасности — главный камень преткновения перед выходом в облачные базы данных, и именно это вам нужно будет доверить своему облачному провайдеру.