Рад представить вам 130-й выпуск подкаста, в котором у меня в гостях Егор Болгов, технический руководитель одного из продуктовых направлений в Semrush. В этом выпуске мы говорим о распиле монолита в сервисы, процессах разработки, переиспользовании сервисов в разных продуктах, деплоях, мониторинге и многом другом.
В начале Егор рассказал про монолит Semrush, каким он был, как стал разрастаться и какие появились трудности, сложности и проблемы в разработке и деплое. Затем рассказал как начался распил монолита на сервисы, мы обсудили разделение базы данных, выделение сервисов в рамках монолита и последующее выделение кода в отдельный сервис.
Обсудили вопросы документирования кода сервисов, API и интерфейсов, подискутировали о стандартизации, используемых технологиях и подходах в больших компаниях, когда команд много, сервисов много и как переиспользовать наработки других команд и вообще делиться знаниями.
Пообщались про деплой и мониторинг сервисов и монолита, Егор рассказал как деплоят в Semrush, коснулись темы отладки в сервисной архитектуре.
Поговорили про техдолг, паттерны и абстракции. Когда и как бороться с техдолгом и как современные фреймворки и технологии влияют на качество кода. Подискутировали о подходах к выбору новых инструментов и технологий, Егор поделился своим взглядом на это.