Какое-то время назад я опубликовал на Хабре небольшое футуристически-визионерское эссе под названием "Цивилизация на основе контейнеров: как выйти в следующий техноуклад с помощью морских контейнеров и Майнкрафта". В нём я рассматривал идею технологического уклада, в котором основным "строительным блоком" служит обычный морской контейнер. Во втором эссе, которое вы сейчас прочитаете, я попытаюсь развить идею контейнерного техноуклада и показать его невероятные перспективы. Рекомендую для лучшего понимания сначала прочитать первое эссе - оно совсем небольшое. Вкратце перескажу его содержание.

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

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

Терраформирование и деплой контейнеров

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

Сейчас в массовом сознании управленцев очень популярна идея так называемых "цифровых двойников" - компьютерных моделей реальных материальных строений, производств или коммуникаций, в которых соединяется несколько разных источников информации: и проектная информация о конструкции, материалах и соединениях различных частей, и показания датчиков, установленных на материальный оригинал, и журнал работ по ремонту. Цифровой двойник сильно упрощает работы по поддержанию материальной конструкции, позволяет планировать и проектировать изменения этой конструкции в компьютерном виде.

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

Эта технология "цифрового оригинала" идеально сочетается с технологией блоков-контейнеров. Мы можем использовать язык конфигурации на основе YAML и с его помощью в текстовом виде описывать схему нашей конструкции, состоящей из базовых контейнерных блоков: блока-электрогенератора, блока-датацентра, блока-офиса, блока-холодильника, блока-киоска, блока кондиционирования, блока-туалета, блока-станка, блока-коридора, блока-конвейера и так далее. Из этих блоков со стандартизированными интерфейсами рабочие смогут быстро строить целые заводы или жилые районы. Каждое изменение модели фиксируется в репозитории контроля версий (например, git) и накатывается на физический мир с помощью технологии, подобной Terraform - программа сама проверит текущее состояние физической конструкции и превратит изменение модели в список заказа определённых типов контейнеров и заданий для отдельных рабочих. Это буквально и есть самое настоящее терраформирование.

Подобная технология - это, по сути, перенос компьютерных инструментов, известных каждому программисту - Docker, Terraform, CI/CD - из компьютерного мира в физический материальный мир. Процесс развёртывания полностью отделяется от процесса проектирования: проектировщик-архитектор изменяет конфиг-описание конструкции в тестовом виде и коммитит изменение в систему контроля версий -> CI/CD прогоняет тесты соответствия конструкции всем строительным стандартам, Terraform определяет список необходимых изменений и рабочие накатывают эти изменения на физическую реальность с помощью перевоза и переподключения абстрактных морских контейнеров, даже не зная, что там внутри. Смена подхода и самой парадигмы мышления на контейнеры позволит человечеству совершить невероятный скачок в следующий технологический уклад.