Что мы на нём делаем
Контейнеры — способ упаковки всего, что мы пишем. Бэкенд-сервис, задача по расписанию, окружение сборки — каждый из них представляет собой образ с зафиксированными внутри зависимостями, так что «у меня на машине работает» перестаёт быть категорией багов.
Практическая польза заметнее всего, когда в проект приходит новый человек. Вместо инструкции по настройке, устаревшей полгода назад, есть compose-файл: одна команда поднимает сервис, его базу и зависимости тех версий, которые проект действительно использует.
Где мы его применили
Вся наша бэкенд-разработка контейнеризована, включая сервисы за проектами из портфолио. Этот сайт тоже собирается и деплоится как образ контейнера.
Когда мы его рекомендуем
Для любого сервиса, который будет развёрнут не на той машине, где его написали, — то есть для всех. Цена — Dockerfile; отдача — воспроизводимая сборка и деплой, не зависящий от состояния сервера.
Где мы, наоборот, возразим — это контейнеризация локального процесса разработки, который и так прост. Если проект — один бинарник без зависимостей, контейнер вокруг цикла разработки добавит трения и почти ничего не даст. Выпускайте образ, но не обязательно разрабатывайте внутри него.
В продакшене эти образы работают на Kubernetes.
