Предисловие: Проблема масштаба. Микросервисы дали независимость и скорость разработки, но создали новые вызовы: сложность операционного взаимодействия, дублирование усилий (десять команд писали свой кэш-клиент), отсутствие единого видения архитектуры. Стандартные митапы и демо-дни не справлялись — информация была слишком фрагментированной.
Цель конференции. Мы поставили три цели: 1) Распространить глубокие знания о ключевых сервисах. 2) Выявить и стандартизировать лучшие практики. 3) Создать неформальную среду для кросс-командного общения инженеров.
Подготовка: От идеи к программе. Был сформирован оргкомитет из трех технических лидов. Мы отказались от формата «сверху вниз». Вместо этого запустили внутренний Call for Papers (CFP). Предложили четыре трека: «Архитектурные паттерны», «Инфраструктура и DevOps», «Сложные инциденты и отладка», «Инновации и R&D». Критерии отбора: практическая ценность, применимость в других командах, глубина. Из 40 заявок было отобрано 16 докладов.
Форматы, которые сработали. Классические 30-минутные доклады составили костяк. Но ключевой изюминкой стали другие форматы:
- Deep-Dive Воркшопы: 2-часовые сессии, где авторы критически важных сервисов (например, сервис аутентификации или шины событий) показывали код, диаграммы последовательностей и отвечали на самые каверзные вопросы. Это дало понимание «магии» на уровне, недоступном в документации.
- Панельная дискуссия «Будущее нашей архитектуры»: CTO, главные архитекторы и тимлиды обсуждали боли, технический долг и вектор развития на следующий год. Это выровняло ожидания.
- «Unconference» сессии: Во второй день участники сами предлагали темы для обсуждения в формате круглых столов. Спонтанно возникли дискуссии о стандартизации логгирования, выборе базы данных для новых сервисов и онбординге новичков.
- Галерея диаграмм: В холле висели распечатанные архитектурные диаграммы ключевых сервисов (обновленные!). К ним можно было подойти, задать вопрос автору и оставить стикер с комментарием.
Конкретные результаты (спустя 3 месяца). Конференция не была разовым мероприятием. Она принесла измеримые результаты:
- Стандартизация: После доклада про «Идеальный REST-клиент с resilience паттернами» три команды приняли единую библиотеку. После воркшопа по трейсингу (OpenTelemetry) все новые сервисы стали использовать единый подход.
- Ускорение онбординга: Записи докладов стали обязательной частью обучения для новых бэкенд-разработчиков. Время «входа в проект» сократилось в среднем на неделю.
- Предотвращение инцидентов: Команда «Поиска» узнала на deep-дайве, как «Сервис кэша» использует кластеризацию Redis. Это знание помогло им избежать фатальной ошибки в схеме инвалидации кэша при планировании новой фичи.
- Рождение новых инициатив: В unconference родилась идея внутреннего open-source проекта — универсального адаптера для работы с Kafka. На его разработку добровольно вызвались пять разработчиков из разных команд.
Внутренняя техническая конференция по микросервисам — это мощный инструмент для борьбы с энтропией в растущей распределенной системе. Это инвестиция в общий контекст, которая окупается снижением количества межкомандных ошибок, ускорением разработки и ростом уровня инженерной культуры. В конечном счете, это разговор разработчиков с разработчиками на самом важном языке — языке их собственной архитектуры.
Комментарии (5)