Kafka-команда как сервис умывания рук

Канал о системном и бизнес-анализе, продуктовом мышлении и архитектуре. Как выявлять реальные проблемы, строить работающие решения и не терять здравый смысл в IT. Все вопросы - @innokentyB

Kafkaаналитикплатформа

(кейс из менторской практики)

История от менти. Крупный Enterprise. Нужно подключить сервис к Kafka.

На входе — нормальная бизнес-задача. На выходе — аналитик, который внезапно должен:

  • посчитать объёмы сообщений,
  • определить количество топиков,
  • выбрать число партиций,
  • решить, сколько реплик и на каких брокерах,
  • и аккуратно раскрасить заявку по цветам в Excel-шаблоне.

Да, буквально. Не метафора.

И вот здесь возникает простой вопрос: а чем тогда занимается Kafka-команда?


Платформа сбрасывает ответственность — аналитик её ловит

Формально всё выглядит прилично. Платформенная команда говорит: «Мы не можем просто так дать доступ. Вы же можете положить кластер».

И дальше происходит ключевой трюк.

Все архитектурные решения аккуратно перекладываются на потребителя:

  • ты сам выбираешь партиции,
  • сам определяешь репликацию,
  • сам подписываешься под нагрузкой.

Если что-то пойдёт не так — виноват ты. Не платформа. Не кластер. Не архитектурный гайд. Аналитик, который “так указал в заявке”.

Это не про Kafka. Это про страх ответственности, замаскированный под процесс.


Аналитик как высокооплачиваемая секретарша с навыками Excel-дизайнера

В этой модели аналитик перестаёт быть аналитиком.

Он становится:

  • переводчиком между командами,
  • компенсатором организационных дыр,
  • человеком, который берёт на себя решения без мандата и без рычагов влияния.

А теперь ключевая метафора.

Аналитик подписывается под количеством партиций, хотя его экспертиза заканчивается на логике домена и бизнес-процесса.

Это как если бы официант решал, при какой температуре повару жарить стейк, чтобы ресторан не сгорел.

Не потому что он эксперт. А потому что иначе заказ не примут.


Архитектура на костылях из аналитиков

Почему эта модель токсична:

  • решения принимают те, кто за них не отвечает,
  • ответственность размазана,
  • платформа превращается в охранника входа,
  • аналитик — в универсальную прокладку между процессами.

И внезапно в компании начинают считать, что знание параметров Kafka важнее понимания бизнес-процесса.

Хотя должно быть ровно наоборот.

И, кстати, именно здесь становится понятно, почему в Enterprise так много системных аналитиков.

Не из-за сложности систем. А из-за размытого ownership.


Финальный вопрос (не академический)

А вы кто в своей компании? • архитектор смыслов, • человек, который понимает бизнес-потоки, • и проектирует решения

или

бесплатное приложение к Jira-шаблону платформенной команды, которое ещё и аккуратно раскрашивает ячейки, чтобы заявка прошла дальше?

Вот здесь, кажется, и проходит настоящая граница роли аналитика.

Человек в дата-центре держит светящийся планшет на фоне стоек серверов и неоновой диаграммы/дашборда с подписью Kafka, технологическая атмосфера.
Интерьер серверной: человек с планшетом на фоне голографической схемы Kafka и стоек серверов.

Дискуссия

PRO анализ в ИТ
Евгения
И топики платформа должна придумать?) Платформа занимается поддержкой кластера. Реплики - да, они. Партиции - считаю, что все же определять их количество не дело платформы, а дело команд, кто делает фичу. Это же команды должны понимать, нужно им горизонтальное…
Про топики - тут все зависит от того, в какой парадигме работаете - возможно уже есть нужные топики, особенно если вы в эвент сорсинге и да, в таком случае - неплохо бы платформе это знать. Ну и даже если не так, не уверен, что аналитик должен решать как называть топики или решать, сколько их будет. У меня есть задача организовать взаимодействие, а платформа должна мне в этом помочь, а не мешать, как сейчас. Поддержка кластера - это техническая составляющая, а платформа должна нести и бизнесовую нагрузку. Это классический подход энтерпрайз ИТ, особенно в РФ (не знаю, как на западе - не работал у них в энтерпрайзах и пока нет оттуда менти) - мы делаем техническую вундервафлю и не смейте нам ее ломать своими бизнесовыми прихотями) Насчет партиций тоже спорно - оно как минимум должно быть коллаборативно, аналитик приносит ключ партиционирования, это точно должно быть на нем, но дальше должно быть обсуждение и платформенная команда, как профессионалы, должны помочь решить проблему. НФТ - безусловно на продукте и аналитике, а вот как эти НФТ реализовать - по идее должно быть на платформенной команде. Но все что я описал требует определенного уровня осознанности, к сожалению.
Евгения
PRO анализ в ИТ
Про топики - тут все зависит от того, в какой парадигме работаете - возможно уже есть нужные топики, особенно если вы в эвент сорсинге и да, в таком случае - неплохо бы платформе это знать. Ну и даже если не так, не уверен, что аналитик должен решать как называть…
Наверное, у нас с вами разный опыт в РФ. Есть же команда разработки, не платформа, а продуктовая команда, для которой аналитик фичу и проектирует. Если аналитик не хочет погружаться в техничку, это ок, он все может обсудить с техлидом и разрабами своей команды. А они уже сходят к коллегам-разработчикам в платформу проконсультируются.
PRO анализ в ИТ
Евгения
Наверное, у нас с вами разный опыт в РФ. Есть же команда разработки, не платформа, а продуктовая команда, для которой аналитик фичу и проектирует. Если аналитик не хочет погружаться в техничку, это ок, он все может обсудить с техлидом и разрабами своей команды.…
Я все же немного другое имел ввиду, не то, что мне или менти лень разбираться в технике. Нет, мы оба прекрасно шарим за технику и знаем, как работать с Кафкой. Изначальный посыл был про то, что даже для такого казалось бы простого действия тебе надо пройти 7 кругов в первую очередь бюрократического ада, а платформенная команда вместо помощи только сопротивляется и вставляет вот такие палки в колеса
Евгения
PRO анализ в ИТ
Я все же немного другое имел ввиду, не то, что мне или менти лень разбираться в технике. Нет, мы оба прекрасно шарим за технику и знаем, как работать с Кафкой. Изначальный посыл был про то, что даже для такого казалось бы простого действия тебе надо пройти…
Вы писали про ответственность, мое имхо - ответственность за технические решения несет продуктовая команда, а не платформа. Платформа несет ответственность, чтобы Кафка работала) Если вы отдаете НФТ, а все подбирает платформа, а там неправильно подберут, потом ваша менти скажет «это не я, это ребят из платформы мне неправильно сказали». Это естественно не должна быть единоличная ответственность менти, для этого у нас и команда) Я ратую за то, что такие вещи надо обсуждать с продуктовой командой: на груминге или еще где. Если возникнут вопросы, то можно конкретные вопросы задать платформе, а не скидывать на них «разберитесь в нашей фиче». Тут и бас-фактор лучше, и если окажется, что приняли не лучшее решение, то исправят, и вся команда будет в контексте.
IT Удильщик by евGEN
PRO анализ в ИТ
Тут очень интересный вопрос. А зачем вот это все. Кажется, что как раз СА должен отдать НФТ (а не количество партий) и получить в ответ, нужную настройку с количеством партиций, реплик и всего прочего. А не страдать фигнёй, раскрашивая эксельки.
У команды платформы, которая обслуживает Kafka, зона ответственности это обслуживание Кафки и гарантии надёжности, доступности и прочих SLА. Заказывают услугу продуктовые команды и именно ответственность продуктовых команд указать детали того, какая услуга им нужна. У команды платформы нет времени и ресурса, чтобы вникать в миллион продуктов и особенностей их сервисов и нагрузки, а продуктовая команда и так в контексте. Другой вопрос что аналитик это просто исполнитель и ответственность нести не может, это обязанности технического руководителя продуктовой команды
PRO анализ в ИТ
IT Удильщик by евGEN
У команды платформы, которая обслуживает Kafka, зона ответственности это обслуживание Кафки и гарантии надёжности, доступности и прочих SLА. Заказывают услугу продуктовые команды и именно ответственность продуктовых команд указать детали того, какая услуга…
Так в том и разница, что можно быть сервисом, а можно продуктом. И страшная вещь - не зная продуктовой составляющей ты гадаешь про профиль нагрузки и все остальное
IT Удильщик by евGEN
PRO анализ в ИТ
Так в том и разница, что можно быть сервисом, а можно продуктом. И страшная вещь - не зная продуктовой составляющей ты гадаешь про профиль нагрузки и все остальное
почему гадаешь, требуешь заполнять excel продуктовые команды 😂
PRO анализ в ИТ
IT Удильщик by евGEN
почему гадаешь, требуешь заполнять excel продуктовые команды 😂
Ну вот да, разводить бюрократию вместо здравого смысла)
IT Удильщик by евGEN
PRO анализ в ИТ
Ну вот да, разводить бюрократию вместо здравого смысла)
есть у тебя есть, на минуточку, платформенная команда для обслуживания Kafka, то возмущаться бюрократией несколько странно. Ну камон, ребят, это какой-то инфантилизм: злая команда кафки, хочет, чтобы я прописал то, в чем я не разбираюсь. А команда делает вид, что не при чем и такие: а ты еще не прописывал? Ну давай, че ты. Никто за продуктовую команду не будет разбираться какая там у вас нагрузка и сколько партиций надо. Не, можно сказать, в защиту, что платформа могла бы и рекомандации выдать, но в любом случае им нужны входные данные и это нормально для биг теха и корпораций
PRO анализ в ИТ
IT Удильщик by евGEN
есть у тебя есть, на минуточку, платформенная команда для обслуживания Kafka, то возмущаться бюрократией несколько странно. Ну камон, ребят, это какой-то инфантилизм: злая команда кафки, хочет, чтобы я прописал то, в чем я не разбираюсь. А команда делает…
Тут вопрос в том, что если подходить к платформе, как к продукту и развивать тот же самый DevEx. то будет проще и легче обеим сторонам
Присоединиться к обсуждению →

Читайте так же