1,5 GB В ПРОДАКШЕНЕ — ЭТО НЕ «НЕМНОГО МНОГО», ЭТО СИГНАЛ
У Docker-образа есть простая JTBD-логика: он должен быстро собираться, быстро доставляться и не тащить в прод лишнее. Если образ Django-приложения раздувается до 1,5 GB, пользователь задачи уже начинает «терпеть» систему: дольше деплой, тяжелее CI, выше риск захватить dev-зависимости, кэш, исходники и артефакты, которые не нужны на сервере.
Полезный вопрос не «как ужать байты», а «что именно едет в production и зачем». Обычно проблема вскрывается в одном из мест:
— базовый image слишком тяжёлый;
— слои собираются без дисциплины;
— dev-зависимости попадают в runtime;
— .dockerignore пустой или формальный;
— статика, кеши и временные файлы не отделены от нужного кода.
Хороший ориентир: смотреть на образ как на поведение системы, а не как на техничку. Где сборка тормозит? Что повторяется каждый раз? Что можно не переносить в runtime? 🚚
Меньше образ — не про эстетику. Это про скорость поставки и меньшее количество скрытых отказов.
JTBD Notes
@JTBDNotesPro
1,5 GB В ПРОДАКШЕНЕ — ЭТО НЕ «НЕМНОГО МНОГО», ЭТО СИГНАЛ
Этот пост опубликован в Telegram-канале JTBD Notes. Подписаться можно по ссылке: @JTBDNotesPro.