СССР - РФ: деконструкция рефакторинга
Сразу оговорка. Дальше будет попытка декомпозиции процесса трансформации СССР в РФ с точки зрения архитектуры. Это не истина в первой инстанции. Это версия, которая не учитывает всех нюансов и не претендует на полноту. Просто взгляд, который кому-то покажется точным, а кому-то - нет. Это нормально.
Начнём с СССР.
Это монолит. С централизованными контроллерами. Госплан, Госснаб, министерства. Всё сходится в итоге в одну точку. Всё решается там. Не потому что кто-то так захотел, но потому, что архитектура такая. Единый центр, схема данных, вызовы.
У этого монолита есть свойства, которые часто не замечают. Базовые опции для населения работают априори. Работа, учёба, жильё, досуг, медицина. Всё это - как встроенные функции. Не надо думать или выбирать. Не надо бороться - оно есть по факту рождения. И это - не идеология. Это - архитектурное решение. Монолит берёт на себя всё. И раздаёт. Всем и по единому шаблону.
Но вот в чём проблема. Территория - гигантская. 22 миллиона квадратных километров. 11 часовых поясов. 5 климатических зон. Разная культура, разные языки, разные потребности. И всё это проходит через один центр, который физически не может обработать такой объём. Информация идёт неделями. Решение принимается с задержкой. Которая делает центр бессмысленным. И система начинает деградировать. Сначала незаметно, потом заметно, потом лавинообразно.
И в какой-то момент - достаточно одного толчка, чтобы всё посыпалось. Не потому что толчок сильный, а потому, что система уже была на пределе. Монолит дошёл до предела. И рассыпался потому, что не мог масштабироваться.
Потом - девяностые.
Попытка переписать систему на микросервисную архитектуру. Через распродажу производств и формирование бизнеса по западным лекалам. Логика реформаторов проста: если монолит не работает - надо разобрать его на части. Пусть каждая часть сама решает. Сама выживает и сама находит своё место. Микросервисы. Автономия. Рынок.
Но вот в чём ловушка. Микросервисы требуют культуры автономии. Горизонтальных связей, доверия между частями. А этого не было и не могло быть. Потому что монолит не оставил после себя привычки к автономии. Он оставил привычку к центру и вертикали. И к тому, что кто-то сверху решит. И когда центр исчез - части не стали самостоятельными. Они стали брошенными. И тогда - вместо микросервисов - получился хаос. Не архитектура, а её отсутствие.
И вот здесь начинается РФ.
Не микросервисы. И не прежний монолит. А модульный монолит. Где каждый регион - отдельный модуль. Который работает с общими для всех ресурсами. Через общее ядро, через вертикаль, через центр. Но - с возможностью зарабатывать и распоряжаться заработанным в рамках общих правил.
Это не автономия. Это модульность. С общим ядром. Которое держит всё вместе. Потому что без ядра - распад. Как в девяностые. Это - не идеология. Это - архитектурное требование. Которое вытекает из предыдущего опыта. Из двух провалов: монолита и попытки его разобрать.
Почему это работает.
Потому что модульный монолит решает проблему масштаба иначе. Не через автономию. А через модульность с общим ядром. Каждый регион - модуль со своей спецификой и ресурсами. Но - в одной сборке. Подчиняется общим правилам. Получает общие ресурсы через общий центр. Который - не давит, а держит. Держит границы, связи - держит целое.
А что же базовые опции?
Работа. Учёба. Жильё. Досуг. Возвращаются, но не так как в монолите версии 1.0. Теперь базу обеспечивают модули, которые могут обеспечить себя в рамках общих правил. Общий центр лишь координирует. Но не раздаёт и не гарантирует получение. Он лишь декларирует право.
Это не идеально. Это не окончательно. Это - версия, которая описывает то, что есть. Со всеми плюсами и со всеми минусами, которые - не приговор, а свойства. Их можно использовать или не использовать.
Но главное, как мне кажется, - помнить прошлое, жить настоящим и думать о будущем. Рефакторинг никогда не заканчивается.
И да, вот что хотел сказать напоследок. Мы все - родом оттуда, из монолита СССР. Даже если родились после его развала.