TGViewer
Саша Раковский Саша Раковский @rakovskyxp · 833 subscribers
Post #47 740
Про одного CTO

Неделю назад наткнулся на канал одного CTO. Там он хвастается своим опытом: в одной из компаний за год работы техдиром результат - собрали команду в 100+ человек, поменяли процессы и переписали все на микросервисы. Читаю и понимаю, что что-то мне тут не нравится.

Да, конечно, есть места, где именно это и нужно, и я бы лично занимался тем же самым. То есть, такое описание само по себе вроде ни о чем плохом не говорит. Но...

Во-первых

Ни о чем хорошем оно тоже, само по себе, не говорит. Потому что результаты - это про цель, а микросервисы, процессы и команда - это про путь. И если вы шли быстро, но не туда, то результата не будет, будет только путь, как у самурая. Короче, если уж вы CTO, то в результатах указывайте именно результаты работы, а не средства их достижения.

Например:
- айти принесло больше денег, чем потратило;
- количество дефектов/инцидентов в проде сократилось в несколько раз;
- или, ещё лучше, количество потерянных денег вследствие дефектов уменьшилось на сумму, меньшую, чем затрачено на исправление;
- выполнили все требования регулятора в срок.

Во-вторых

В большинстве случаев, когда я вижу что-то похожее, где нарезали на микросервисы, поставили процессы, набрали толпу специалистов, у меня складывается стойкое ощущение, что все это надо откатывать назад: микросервисы слеплять, процессы убирать, людей с проекта выводить. Почему? Ну давайте по порядку.

1. Микросервисы.

В большинстве случаев микросервисы нарезаны слишком мелко. Главная задача микросервисов: решить проблему с синхронизацией работ команд, когда одна команда не может идти в релиз, потому что другая не готова. Или не может выйти в прод, пока не протестируется, а протестироваться не может, потому что другая не готова. В итоге работа постоянно простаивает из-за трудностей координации команд.

То есть микросервисы должны позволить команде разрабатывать, тестировать и выкатывать доработки БЕЗ синхронизации с другими командами. Поэтому границы микросервисов = границы команды. То есть, в общем случае, на одну команду достаточно одного микросервиса.

Либо, если несколько доменов, то по количеству доменов. Просто потому что, если ничего общего нет, то непонятно, зачем оно должно быть в одном сервисе. Для примера: в приложении доставки еды сервис оформления заказов пользователем и сервис изменения меню рестораном - это разные поддомены и разные сервисы. Пример из жизни: сейчас наша команда считается помойкой доменов, куда можно скинуть все, что другим негоже. Поэтому у нас уже 5 доменов и, получается, 5 сервисов. И на подходе ещё 2.

Чаще всего, вот этот концепт остаётся за рамками понимания руководителей и архитекторов, а микросервисы режутся из каких-то других соображений: от нескольких штук на команду, до нескольких десятков штук на команду. Ещё хуже, когда несколько команд работают над общими микросервисами. Очевидно, что это никак не помогает главной задаче микросервисов: обеспечению независимого релизного цикла команды.

Поэтому, в лучшем случае, в большинстве микросервисных архитектур требуется слепить часть микросервисов в сервисы побольше. В худшем: слепить всё и разлепить по-другому.

2. Процессы.

В большинстве организаций процессы избыточны. По сути, часто процессы превращаются в синоним бюрократии. И это не помогает, это вредит. Особенно, в айти.

Цель внедрения процессов очевидна:
- Для прозрачности работы от исполнителей требуется отчётность и метрики. Например: задачки в жире, трекинг времени и статусов, обязательные артефакты в конфлюенс, обязательные оценки на полгода вперёд;
- Для снижения рисков устанавливаются дополнительные контрольные процедуры. Например, блокирующее ревью безопасником.
- Для снижения рисков сужаются полномочия. Например, отбираются доступы.
- Для равномерного распределения однообразной работы по специалистам и обмена компетенциями узкие специалисты собираются в команды. Например: команда девопс, команда тестирования, команда дба.
- Для согласованности действий подразделений планируются координационные мероприятия: рабочие группы, статусы и прочее.
  • 👍 7
  • ❤ 4
  • 👏 3
More from @rakovskyxp
  1. Oct 16, 2026Очередной топ-3 Последние посты были пустоватыми, жвачка такая, воздух погонять. Люди жалу…
  2. Oct 15, 2026В марте 2025 Дарио сказал, что в течение 12 месяцев 100% кода будут писать нейросети. Коне…
  3. Oct 9, 2026Я полгода держался, но нет. Теперь будут регулярные разборы ахинеи от этого чувака, извини…
  4. Oct 9, 2026Или вот такое ещё. Короче, если подписаны, то фильтруйте все до каждой запятой.
  5. Oct 9, 2026Вот ещё немного ахинеи
  6. Oct 9, 2026Сейчас чем дальше, тем популярнее становится вот этот чувак. Будьте осторожнее, человек не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →