Комментарии 3
Я применял некоторые идеи "неизменяемой архитектуры" в реальных условиях, с некоторыми поправками на ограниченный объём дисков.
Применимость зависит от того, можно ли эффективно делать запросы к используемой схеме данных. В одном из вариантов использовалась таблица с сотнями миллионов записей, и запросы к ней получились вложенными, с промежуточными сортировками и join'ами. Это не работало, т.к. запросы обрабатывались за случайное время от десятков секунд до нескольких часов. В другом варианте, с применением денормализации данных под форму запроса (CQRS) запросы стали обрабатываться за ~100мс. В других задачах, менее объёмных по числу записей, проблем не возникало.
Собственно, и git, и docker примерно на тех же принципах основаны.
У вас практически все ссылки на github не рабочие (по крайней мере на момент написания этого поста). Проверьте пожалуйста (возможно, забыли сделать репозиторий публичным).

Неизменяемая архитектура. Практическая проверка кодом. Версия 1, начало