Как выбрать провайдера DBaaS, чтобы сэкономить? 7 советов от эксперта
Простота, скорость, надежность — основные преимущества, которые бизнес получает при переносе баз данных в облако. Однако сложно говорить об этих возможностях, не задумываясь о технико-экономических нюансах подобной миграции. Александр Гришин, менеджер продуктов в Selectel, эксклюзивно для читателей CNews делится советами, как выбрать провайдера DBaaS и максимизировать выгоду от работы с базами данных в облаке.
Для большинства компаний выбор облачного провайдера является достаточно ресурсоемким процессом, поскольку необходимо учитывать много нюансов. Неверное решение на этом этапе может привести к техническим ограничениям в проекте, ручной работе инженеров и, как следствие, переплатам. На худой конец неправильный выбор обречет команду на трудозатратную работу по миграции данных уже запущенного приложения к новому провайдеру.
Как выбрать провайдера облачных баз данных, чтобы не переплачивать? Это комплексный вопрос, включающий в себя разные факторы. Давайте разбираться.
Содержание
- География провайдера
- Зоны ответственности провайдера: от ЦОД до DBaaS
- Возможность создания high-availability кластера
- Оптимизация серверов под СУБД
- Функциональность облачных баз данных
- Соответствие ведущим практикам в области безопасности
- Мониторинг и уведомления
- Качество технической поддержки
- Вывод
География провайдера
Чтобы обеспечить максимальную скорость работы сервиса, базы данных, как и приложение, должны находиться как можно ближе к конечным пользователям. Поэтому первым делом узнайте, сколько локаций представлено у провайдера, и выбирайте те, что находятся ближе всего к вашим клиентам. Оценивайте точки присутствия не только в тех регионах, где вам нужна инфраструктура сегодня, но и с учетом стратегии развития вашей компании как минимум в ближайшие 3-5 лет.
Зоны ответственности провайдера: от ЦОД до DBaaS
Надежность и гарантия доступности вашего сервиса зависит от каждого поставщика в цепочке оказания облачной услуги. Я рекомендую выбирать провайдера, который несет ответственность за все уровни доступности услуги: от обеспечения работоспособности систем ЦОД и серверного оборудования до виртуализации и непосредственно облачных баз данных. Наличие неконтролируемых элементов увеличивает число «точек отказа» и снижает надежность системы.
Придерживаясь подхода «единого окна», вы будете иметь единого ответственного за всю вашу инфраструктуру и получите понятный SLA без пересечений ответственности и скрытых рисков.
Возможность создания high-availability кластера
Лучшей практикой является наличие нескольких независимых друг от друга зон доступности внутри одного региона, по которым можно распределить кластеры баз данных. Накладывая такую архитектуру на функциональность сервиса, провайдер предоставляет клиенту действительно отказоустойчивый и антихрупкий сервис, в котором предусмотрены различные риски и disaster-сценарии.
Оптимизация серверов под СУБД
Базы данных — одна из самых чувствительных к «железу» информационных систем. Выбирая оборудование под СУБД и не зная заранее профиля нагрузки на информационную систему, не стоит даже думать про экономию на комплектующих. Все составляющие сервера от сетевого интерфейса до процессора (и тем более жесткого диска) должны быть enterprise-уровня.
При выборе провайдера я рекомендую оценивать следующие параметры.
Наличие производительных локальных дисков
Лучшей практикой в эксплуатации высоконагруженных баз данных является использование локальных дисков. С ними отсутствуют сетевые задержки, поэтому они хорошо справляются с чувствительными к показателям скорости чтения и записи задачами.
Сетевые диски
Сетевые диски подойдут исключительно под холодное хранение большого объема данных. В остальных случаях не рекомендуется использовать сетевые диски для СУБД, поскольку они порождают сетевые задержки и увеличивают latency.
Наличие отдельного сетевого контура для служебной нагрузки
Служебная нагрузка включает в себя репликацию данных, мониторинг кластеров, резервное копирование и другие процессы. Я рекомендую разделять непосредственно базы данных и системы, обеспечивающие функционирование и резервное копирование кластера СУБД. Такой подход поможет разгрузить сетевые каналы и увеличит их пропускную способность.
Широкая сетевая функциональность
Сетевая связность — основа архитектуры информационных систем. В любой момент жизни вашей системы может потребоваться выделенный канал к вашей локальной инфраструктуре, выделенный VLAN в стойку у провайдера, аппаратный или программный маршрутизатор, поддержка BGP, DNS master-discovery и другие сетевые возможности.
Скудная сетевая функциональность провайдера DBaaS гарантирует вам дополнительные траты при решении тривиальных задач в будущем. И наоборот, широкие сетевые возможности станут плацдармом для гибкого управления вашей информационной системой.
Наличие высокочастотных CPU и RAM
Эта функциональность необходима при работе с высоконагруженными информационными системами, требующими быстрый доступу к большому объему данных: интернет-сервисами, финансами в реальном времени, математическими расчетами, системами аналитики, шифрованием, высоконагруженными инсталляциями 1С и другое.
Высокочастотные процессоры (High-Frequency CPU) обеспечивают повышенную скорость вычислений, что позволяет СУБД оперативнее обрабатывать запросы пользователей, выполнять сложные алгоритмы и операции с данными.
Использование высокочастотной оперативной памяти (High-Frequency RAM) в СУБД является основным средством повышения скорости доступа к данным и оптимизации производительности. Быстрая оперативная память позволяет ускорить операции чтения и записи данных, улучшить производительность запросов и снизить задержки при выполнении операций баз данных. Это особенно актуально для реализации высокопроизводительной системы кэширования данных, например, на базе Redis.
Функциональность облачных баз данных
Перед запуском продуктивных нагрузок стоит провести предварительное тестирование услуги, а также внимательно изучить официальную документацию. Это поможет подробнее разобраться с наполнением конкретной услуги и будущими ограничениями в вопросе оптимизации расходов. Предлагаю рассмотреть наиболее важные, на мой взгляд, требования к функциональности облачных баз данных.
Горизонтальное масштабирование кластера
Такая функциональность обеспечивает возможность гибкого соотношения параметров цены и надежности. Горизонтальное масштабирование позволяет превратить тестовую инсталляцию с одной нодой в надежный отказоустойчивый кластер с двумя или бóльшим количеством нод, а также дает возможность оптимизировать нагрузку на мастер, перенаправив консьюмеров вашего приложения на read-only ноды.
Лучшими практиками является реализация такого масштабирования в любой момент времени без отключения приложения.
Вертикальное масштабирование без даунтайма для приложения
При росте нагрузки пользователь может в несколько кликов изменить конфигурацию облачной базы данных: CPU, RAM и объем диска.
Если в кластере есть реплики, кластер будет доступен на чтение и запись в процессе применения изменений. Реплики будут остановлены поочередно, и конфигурация каждой из них будет изменена. Затем мастер-нода переключится на одну из реплик, и изменится конфигурация прошлой мастер-ноды. В результате смены нод приложение будет работать без остановок за счет функциональности DNS master discovery, которая в реальном времени перенаправит запрос к актуальному мастеру.
Типы репликации СУБД
Наличие нескольких типов репликации обеспечивает возможность оптимизации показателей скорости и надежности кластера СУБД. Например, клиентам облачных баз данных Selectel доступно два типа репликации для MySQL:
- синхронная репликация обеспечивает максимальную гарантию надежности записи транзакций;
- асинхронная репликация позволяет добиться более высокой скорости записи и чтения данных.
Наличие специфических исполнений баз данных
Например, мы в Selectel предоставляем оптимизированный кластер PostgreSQL для работы с 1С. Он представляет из себя не просто оптимизированный на уровне операционной системы кластер СУБД, а также имеет дополнительные патчи, реализующие необходимые для 1С типы данных, операторы и функции. Также такие патчи скрывают лишние индексы и оптимизируют медлительные аналитические и эксплуатационные операции. Всё это позволяет не просто запустить 1С на PostgreSQL, но и увеличить производительность типичных операций в 1С в десятки раз.
Наличие встроенной системы резервного копирования
Иначе заботы о резервном копировании лягут на плечи ваших инженеров. Мы заботимся об этом аспекте для наших клиентов и потому единственные на российском рынке бесплатно храним резервные копии облачных баз данных.
Помимо непосредственно облачных баз данных, не забывайте про требования к окружению и наличию сопутствующих услуг в портфеле сервис-провайдера, включая:
- различные хосты под вычисления: например, Kubernetes, облачные или выделенные серверы, серверы с GPU;
- объектное хранилище, например, S3;
- BI-инструменты, например, open-source платформа Superset в DAVM Selectel;
- Terraform-провайдер для работы в парадигме Infrastructure-as-code;
- REST API для реализации собственных точечных интеграций.
Соответствие ведущим практикам в области безопасности
С точки зрения безопасности, СУБД является ключевым элементом информационной системы. База данных обязана соответствовать требованиям безопасности также, как и инфраструктура ЦОД, гипервизор, система авторизации и прочие компоненты.
Мы в Selectel регулярно проходим процедуры сертификации, строим процессы и решаем задачи в направлении безопасности клиентских приложений. Наши облачные базы данных соответствуют ряду требований:
Мониторинг и уведомления
Это ключевой параметр, обеспечивающий возможность оптимизации затрат после старта проекта.
Выбирайте провайдера, который обеспечивает:
- мониторинг разных уровней инфраструктуры — виртуальные машины, операционная система, сети, приложение СУБД и служебные компоненты (например, pgbouncer для PostgreSQL);
- простую и понятную визуализацию метрик в панели управления;
- готовые экспортеры метрик для использования в своей системе мониторинга;
- детально описанные параметры каждой метрики в технической документации.
Таким образом, опираясь на метрики, вы будете руководствоваться данными в процессе принятия нужного решения, а не мнением.
Качество технической поддержки
Последний, но не менее важный критерий — это скорость и качество технической поддержки сервиса. Для личной проверки свяжитесь с техподдержкой провайдера и проверьте его компетенции по ответам на ваши вопросы. Также инженеры любят делиться экспертизой и результатами тестов производительности. Вам остается просто провести рисерч на тематических порталах вроде Хабра и убедиться в наличии инженерных компетенций у компании. Доверяйте развертывание СУБД в облаке только профессионалам.
Вывод
Рассмотренные советы помогут вам оптимизировать расходы, увеличить производительность и обеспечить безопасность облачных баз данных. Благодаря правильному выбору на старте вы сможете добиться лучшего соотношения цены и качества на любом этапе жизни проекта. Это, в свою очередь, является ключевым параметром успешной стратегии развития вашего технического департамента в частности и бизнеса в целом.
■ erid:2SDnjdY4GggРекламодатель: ООО «Селектел»ИНН/ОГРН: 7842393933/1089847357126Сайт: https://selectel.ru/