Пятнадцать лет строю и масштабирую распределённые системы — застал переход индустрии от bare-metal серверов и монолитов к cloud-native, Kubernetes и GitOps. Берусь за то, что команды откладывают: технический долг, CI/CD с нуля и удержание систем в строю.
Один продукт целиком: бэкенд, фронтенд и инфраструктура под ними. Основная работа шла с базой под растущей нагрузкой: репликация, чтобы разнести чтение, шардирование, чтобы разнести запись, и кэш на нескольких уровнях с явными правилами, каким данным позволено устаревать. Большая часть выигрыша пришла из чтения планов запросов, а не из нового железа.
Бэкенд и фронтенд одного продукта плюс инфраструктура под ним — та самая схема, при которой слово DevOps начинает что-то значить, а не быть названием должности. Владение деплоем меняет то, как ты пишешь код.
Основные инженерные усилия ушли в слой базы данных под растущей нагрузкой: потоковая репликация, чтобы снять чтение с мастера, партиционирование, чтобы удержать горячий набор небольшим, и иерархия кэшей с продуманной инвалидацией ещё до появления самого кэша.
Ключевые достижения
Отмасштабировал слой БД через репликацию и партиционирование
Спроектировал четырёхуровневый кэш с явной инвалидацией
Снял чтение с мастера без правок в приложении
Владел сервисами целиком, от схемы до деплоя
Сократил p99 запросов чтением планов, а не добавлением железа