История изменений
Исправление x3al, (текущая версия) :
Сам по себе докер нафиг никому не нужен, это просто деталь имплементации деплоя.
Юзкейс:
* моё приложение — это 15+ связанных между собой (разных) сервисов
* у этих сервисов могут быть несовместимые друг с другом версии. Поэтому каждый сервис включает manifest с описанием того, какие версии прочих сервисов он ожидает
* есть load balancer, который может раскидать нагрузку на N машин с одинаковыми сервисами. Вообще, load balancer есть практически везде * есть CI/CD система, которая умеет более-менее автоматически обновлять все эти сервисы в продакшне.
Требования:
* тупо возможность по-быстрому добавить машин с определённым сервисом в зависимости от нагрузки
* не сойти с ума при поддержке разных версий (а они есть как минимум во время обновления)
Ты *можешь* написать гору bash-скриптов для того, чтобы всё это задеплоить. Но деплой terraform + тот же k8s или ECS — удобнее ментейнить, а внутри ecs/k8s есть docker.
Если же у тебя монолитное приложение и/или load balancer отсутствует — конечно, тебе это нафиг не нужно (ну, CI может быть чуть удобнее с докером или другими контейнерами, но это не критично). Но писать деплой-процесс для high available-приложения, состоящего из уймы микросервисов, довольно сложно.
Исходная версия x3al, :
Сам по себе докер нафиг никому не нужен, это просто деталь имплементации деплоя.
Юзкейс:
* моё приложение — это 15+ связанных между собой (разных) сервисов * у этих сервисов могут быть несовместимые друг с другом версии. Поэтому каждый сервис включает manifest с описанием того, какие версии прочих сервисов он ожидает * есть load balancer, который может раскидать нагрузку на N машин с одинаковыми сервисами. Вообще, load balancer есть практически везде * есть CI/CD система, которая умеет более-менее автоматически обновлять все эти сервисы в продакшне.
Требования:
* тупо возможность по-быстрому добавить машин с определённым сервисом в зависимости от нагрузки * не сойти с ума при поддержке разных версий (а они есть как минимум во время обновления)
Ты *можешь* написать гору bash-скриптов для того, чтобы всё это задеплоить. Но деплой terraform + тот же k8s или ECS — удобнее ментейнить, а внутри ecs/k8s есть docker.
Если же у тебя монолитное приложение и/или load balancer отсутствует — конечно, тебе это нафиг не нужно (ну, CI может быть чуть удобнее с докером или другими контейнерами, но это не критично). Но писать деплой-процесс для high available-приложения, состоящего из уймы микросервисов, довольно сложно.