Облачные технологии: DBaaS
Сегодня среди облачных платформ можно встретить услугу "базы данных как сервис" (DBaaS, Database as a Service). Вы сможете создать в облаке базу за несколько кликов и не тратить времени на ее настройку и техподдержку. Но всем ли приложениям подходят облачные базы данных?
Когда вам подойдет DBaaS?
На практике чаще всего DBaaS выбирают в ряде случаев:
1. Нужны мощности для Test- и Dev-сред с оплатой, отвечающей принципу Pay-as-you-go
Например, иногда Production-среда в развернута на серверах On-premise, при этом инженерам и разработчикам необходимы для тестирования допмощности под регулярно создаваемые/удаляемые базы данных. В облаке это делать удобнее, ведь ресурсы предоставляются по запросу, что позволяет гибко управлять потреблением и настраивать лимиты для каждого проекта либо разработчика.
Таким образом, оплата осуществляется только за применяемые вычислительные мощности, плюс используется посекундная тарификация. А это значит, что вы сможете остановить незадействованную БД в любой момент, после чего платить придется только за место на диске, но не за CPU/RAM.
2. Надо оперативно развернуть решение, которое аттестовано по 152-ФЗ
К примеру, организация работает с персональными данными и обязана соответствовать требованиям 152-ФЗ. В такой ситуации именно DBaaS в аттестованном облаке чаще всего оказывается самым простым и быстрым решением, ведь в данном случае можно избежать хлопот, связанных с самостоятельным развертыванием и аттестацией защищенного контура.
Также стоит отметить, что нередко компании выполняют лишь частичный перенос в облако, то есть некоторые наиболее «чувствительные» данные оставляют на своей стороне. Это дает возможность существенно сэкономить на задействованных мощностях, особенно, когда речь идет про обработку больших объемов данных.
3. В приоритете -- недорогое хранилище для резервных копий
Например, в облаке VK в целях хранения бэкапов баз данных доступно к использованию отказоустойчивое объектное хранилище S3. Хранить массивные бэкапы с редким доступом в данном хранилище дешевле, если сравнивать с локальными серверами. Хранилище S3 дает возможность хранить, по сути, неограниченный объем данных, причем какие-либо специальные действия для увеличения объема хранения со стороны пользователя не потребуются, а платить придется лишь за фактически использованный объем хранения.
Также сами бэкапы автоматизированы, а расписание создания бэкапов легко настраивается. В случае надобности бэкапы из S3 вы без проблем сможете выгрузить в On-premise-хранилище.
4. В команде отсутствует опыт самостоятельной настройки/администрирования СУБД
Как инсталляция, так и настройка СУБД отнимает время, ну а когда речь идет о создании отказоустойчивой системы, то дополнительно потребуется и высокая квалификация со стороны команды. Применение DBaaS позволяет не только выполнять запуск любой БД всего лишь за несколько минут посредством API либо UI, но и получать весь необходимый функционал, что называется, «из коробки». Это и автомасштабирование базы данных в зависимости от роста нагрузки, и резервное копирование, и даже геораспределенные реплики для повышенной надежности. Вдобавок ко всему, провайдеры предоставляют конкретный SLA на работу своих сервисов, что происходит, чаще всего, с определенными финансовыми гарантиями.
Так ли все идеально?
Разумеется, нет. Говоря по правде, далеко не всегда DBaaS -- это лучшее решение. Важно понимать, что облачные провайдеры не предоставят Root-доступа к настройкам серверов баз данных, что является своеобразной платой за тот факт, что провайдер гарантирует SLA (читай: минимизирует ошибки и гарантирует доступность сервисов). Именно поэтому, если вам нужен полный контроль над используемой системой, включая администрирование системы, некоторые варианты выглядят предпочтительнее, к примеру, тот же On-premise. Но тут не обойтись, конечно же, без нужного уровня экспертности в плане развертывания и настройки БД.
По материалам https://mcs.mail.ru/blog/.