Сегодня контейнеры кажутся настолько естественной частью инфраструктуры, что трудно представить IT-мир без Docker или Kubernetes. Но если отбросить привычку думать “контейнеры = лёгкие виртуалки”, становится ясно: контейнеры родились не ради экономии серверов, а ради управления хаосом приложений. Именно это и объясняет Джастин Кормак (ex-Docker) в своей статье “Why did containers happen?”. В 2000-х компании столкнулись с проблемой избытка “железа” — сотни серверов, низкая утилизация, ручные инсталляции.
💽 Виртуальные машины решили эту задачу: они консолидировали серверы и сэкономили лицензии. Но к 2010-м появилась другая проблема — слишком много приложений.
С каждым Dev-отделом, microservice и CI/CD-цепочкой инфраструктура начала тонуть не в “железе”, а в дебрях версий, зависимостей и окружений. Вот тут и появился Docker (2013) — не как “лёгкая VM”, а как система упаковки и развертывания приложений.
DotCloud, предшественник Docker, создавался как PaaS, и контейнеры стали ответом на ба