Ошибка, которая тормозит всех junior DevOps. Совершаете её и вы?
Вам, наверное, знакома эта история: «На проде всё падает, а у меня на ноуте работает!». Вы залили код в контейнер, он запустился — и на этом ваша миссия, как вам кажется, завершена. Поздравляем — вы мыслите как джун!
Джун видит задачу: «поднять сервис».
Мидл видит поток изменений (flow of change): как это всё будет работать в реальной жизни, а не на его macOS
Разница — в переходе от мышления контейнерами к мышлению сервисами.
В чём подвох? Ваш условный docker run — это не сервис. Это изолированный процесс. Сервис — это когда ваш код:
→ Живёт в кластере (K8s, Nomad), а не «в докере на моей машине».
→ Обнаруживается через Service Discovery и доступен через правильно настроенный Ingress (трафик-то куда пойдёт?).
→ Собирается и деплоится автоматически через CI/CD (вы же не будете вручную на 20 серверов заливать?).
→ Мониторится (метрики, логи, алёрты — вы же узнаете первым, если всё накроется, а не из криков в общем чате).
→ Взаимодействует с другими сервисами (как он получит параметры БД? через configmap? через vault?).
Проще говоря, вы перестаёте думать: «я поднял контейнер».
Вы начинаете думать: «я запустил компонент системы, который должен бесперебойно работать и взаимодействовать с другими компонентами».
Как тренировать? Спросите себя в следующий раз: «А что будет с этим Pod'ом после того, как я усну?». Ответы вас и напугают, и прокачают.
А чтобы систематизировать знания и пройти весь путь от идеи до работающего продакшен-решения в команде, приходите на воркшоп «С нуля в прод за 2 дня» с Павлом Минкиным 27-28 сентября