Люди часто забывают или даже не задумываются о том, что многие обыденные вещи в окружающей нас сегодня действительности стали возможными лишь благодаря унификации технологического слоя, на котором эти вещи основаны. Существование бытовых приборов - микроволновок, телевизоров, стиральных машин, холодильников и компьютеров - было бы невозможно без повсеместного внедрения электричества, унификации напряжения в электрических сетях и унификации разъёмов розеток. Современная наука была бы невозможна без принятия единой математической нотации и одинаковых единиц измерения, а современный интернет - без повсеместного распространения компьютеров и унификации протокола обмена данными.
Одну из таких унификационных революций произвёл в середине XX века Малкольм Маклин - американский предприниматель, внедривший в индустрию грузоперевозок единый стандарт контейнеров. До контейнерной революции Маклина трюмы и палубы кораблей заполнялись товарами разной формы - доски, мешки, коробки и бочки с жидкостями загружались на борт вперемешку. Разная форма не позволяла заполнить доступный объём оптимальным способом. При необходимости довести товар от порта до места назначения требовалось перегрузить его в вагон поезда или кузов грузовика. Это всё было жутко долго и неудобно. Контейнеры изменили ситуацию.
Суть контейнерной революции состояла в абстракции процесса перевозки от перевозимого товара. Товары загружались в стандартизированные контейнеры определённой формы и объёма, а корабли, поезда и грузовики переделывались в платформы для перевозки этих самых стандартных контейнеров. Вся портовая и вокзальная инфраструктура была постепенно перестроена под массовое хранение, загрузку и разгрузку стандартизированных контейнеров. Благодаря этому процесс загрузки и выгрузки заметно ускорился, а после и вовсе автоматизировался.
В дальнейшем подобная контейнерная революция произошла в доставке программного обеспечения. Если прежде программистам приходилось строить свои самодельные системы для доставки кода приложений на сервер и его запуска, то названный в честь портовых грузчиков Docker позволил оборачивать любую программу в стандартизированный контейнер и запускать его на сервере с помощью автоматизированных средств развёртывания вроде Kubernetes.
Идея абстрагирования системы доставки от того, что именно доставляется, принесла человечеству огромную пользу. Но мы извлекли из стандартных физических контейнеров ещё далеко не всю пользу. В этом эссе я хочу поразмышлять, как с помощью контейнеров и тотальной майнкрафтизации мы можем выйти на следующий технологический уровень развития цивилизации. Внедрение контейнеров в перевозки заняло несколько десятилетий и потребовало полной перестройки людских умов. Полноценная контейнеризация нашей цивилизации потребует ещё больших усилий, но её результаты превзойдут все наши самые смелые мечты...