25 млрд запросов в час: база данных ServiceNow

Двадцать шестого февраля прошла конференция MariaDB M|18, в которой участвовали 330 ИТ-компаний. На конференции выступил представитель ServiceNow. Он поделился кейсом по управлению »85 тысячами БД по всему миру». Среднее количество запросов в час — 25 миллиардов. Как в ServiceNow работают с такими нагрузками, расскажем под катом.

biurvv4kcef24zyh3a3sbyy1vk0.jpeg
/ Flickr / Tethys. / CC

Почему в ServiceNow используют MariaDB


Представитель ServiceNow Тим Йим (Tim Yim) рассказал об использовании MariaDB. По словам Йима, компания выбрала MariaDB, потому что эта БД отличается стабильностью и высокой доступностью. В ServiceNow нацелены на обеспечение доступности систем 99,999%, поскольку этот показатель критически важен для таких клиентов, как больницы, фабрики, банки и электростанции.

Выгоду от использования MariaDB уже оценили в сингапурском банке DBS Bank, отказавшись от DB2 и Oracle Enterprise. За два года банк развернул более 700 экземпляров БД MariaDB, на которых работают 54% бизнес-критических сервисов, ежедневно проводящих транзакции на 70–80 млрд долларов. Компания в семь раз увеличила производительность приложений, а инструменты для их тестирования смогли выдерживать в десять раз большую нагрузку. При этом системы автоматизированного выпуска приложений стали в два раза эффективнее.

Что такое multi-instance-архитектура


В компании говорят, что не используют multi-tenant- и single-tenant-архитектуру. Вместо этого, ServiceNow придумали свой вариант — multi-instance. Модель развертывания multi-instance позволяет каждому клиенту получить собственную базу данных и клиентское приложение.

Йим поясняет: «Обычно компании развертывают multi-tenant-архитектуру, когда все клиенты делят одну большую базу данных. Представим, что клиентов тысяча. Тогда сбой в работе одного из них повлияет на 999 других: в итоге вместо единичного простоя получается тысяча».

В случае multi-instance каждый экземпляр БД клиента работает на «bare metal» для лучшей производительности. При этом ресурсы аппаратного обеспечения делятся между уровнями приложений и БД, а процессы «контейнеризуются». Йим прокомментировал: «Мы дублируем каждую конфигурацию, каждый узел клиентских приложений и каждую базу данных. Каждую ночь мы создаем резервные копии всех БД».

Такой подход позволяет наращивать вычислительную мощность с «хирургической точностью». В отдельно взятый момент времени можно масштабировать инфраструктуру и устранять неполадки одного клиента.

dkdmri_v4r7ayy9lgvaszi0b_yw.jpeg
/ Flickr / David Goehring / CC

Йим заявляет, что для эффективной работы такого решения «нужно автоматизировать всё». В ServiceNow так и сделали. Все активы загружаются в CMDB, чтобы их можно было отслеживать в одном месте, а затем происходит настройка и автоматизация рабочих процессов: систем высокой готовности, систем восстановления после отказа и др. В последних релизах платформы ServiceNow разработчики добавили возможность автоматизации на естественном языке, позволяющую «неспециалистам» автоматизировать нужные процессы в своем отделе.

«Скрытые» сложности и дальнейшие планы


Управление таким количеством БД приводит к возникновению ряда проблем. Тим Йим поясняет: «Динамичность ServiceNow позволяет нашим клиентам масштабировать сервисы, но из-за этого меняются шаблоны запросов. Поэтому такой платформой очень сложно управлять».

Решить все возникающие проблемы ServiceNow помогают сотрудники MariaDB: они проводят тренинги для администраторов БД, системных администраторов и специалистов по обеспечению надежности инфраструктуры (site reliability engineer), а также помогают ServiceNow разбираться в технических вопросах.

Компании планируют продолжить сотрудничество и внедрить такие фичи, как DDL для описания структуры БД и более надежное шифрование данных в облаке. Кроме того, представитель ServiceNow заявил, что не против внедрения систем на базе машинного обучения: «Я думаю, что любой администратор БД был бы заинтересован в работе с более «умной» базой данных, которая может помогать в распределении нагрузки». И разработчики MariaDB уже работают над внедрением инструментов для мониторинга, которые позволят повысить производительность и масштабируемость системы.


Еще несколько постов из корпоративного блога ИТ Гильдии:

  • Как сделать ITIL более клиентоориентированной
  • Как внедрить процесс управления конфигурацией
  • Как создать и начать использовать каталог услуг
  • Не усложняйте ITSM: 4 совета по улучшению рабочих процессов

© Habrahabr.ru