LINUX.ORG.RU

История изменений

Исправление 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-приложения, состоящего из уймы микросервисов, довольно сложно.