Привет, Хабр!
Меня зовут Антон Маркелов, я ops-инженер компании United Traders. Мы занимаемся проектами, так или иначе связанными с инвестициями, биржами и прочими финансовыми делами. Компания мы не очень большая, около 30 инженеров разработки, масштабы соответствующие – чуть меньше сотни серверов. В ходе количественного и качественного роста нашей инфраструктуры классическое решение «держим на одном сервере и приложение, и его базу» перестало нас устраивать как в плане надежности, так и в плане быстродействия. Со стороны аналитиков возникла потребность создавать кроссбазные запросы, отделу эксплуатации надоело возиться с бэкапом и мониторингом большого количества серверов БД. Вдобавок ко всему, хранение стейта на одной машине с самим приложением сильно снижала гибкость планирования ресурсов и отказоустойчивость инфраструктуры.
Процесс перехода на текущую архитектуру шел эволюционно, апробировались разные решения как по предоставлению удобного интерфейса для разработчиков и аналитиков, так и по повышению надежности и управляемости всего этого хозяйства. Я хочу рассказать об основных этапах модернизации наших СУБД, на какие грабли мы наступили и к каким решениям пришли, получив в итоге отказоустойчивую независимую среду, предоставляющую удобные способы взаимодействия инженерам эксплуатации, разработчикам и аналитикам. Надеюсь, наш опыт окажется полезным инженерам из компаний нашего масштаба.
Данная статья является конспектом моего доклада на конференции UPTIMEDAY, может быть формат видео будет кому-то комфортнее, хотя писатель руками из меня чуть лучше, чем говоритель ртом.
«Человек-снежинка» с КДПВ бессовестно позаимствован у Максима Дорофеева.