История изменений
Исправление KivApple, (текущая версия) :
Это почти любой продакшен, где есть бекэнд реализующий какую-то кастомную бизнес-логику, а не просто хостинг статических сайтов на nginx или какие-то другие готовые решения. И этот бекэнд не вчера был написан, а проект развивающийся на протяжении нескольких лет.
Однажды у одной из либ из зависимостей случается ломающее обновление или её разработчика сбивает автобус (да, при выборе стараются выбирать такие, у которых стабильное API и широкое community разработки, но никто не даст 100% гарантий и чем больше либ в проекте и чем дольше идёт проект, тем выше шанс, что хоть одна либа да выстрелит).
И появляется таска «обновить/заменить либу». Только на момент появления этой таски у команды в беклоге ещё сотня других задач, которые тоже нужные и важные (более того, с точки зрения бизнеса они даже более важные, ибо старая версия либы обычно продолжает работать). И между появлением проблемы и обновлением либы может пройти и несколько месяцев и даже несколько лет.
А сервис нужно как-то поддерживать в работе. С Docker просто заморозится версия базового образа, пока команда сервиса работает над решением проблемы, а сисадмин у которого на сервере 10 таких сервисов (и команды некоторых сервисов оказались расторопнее и успели либу обновить или вообще её не использовали) не будет жонглировать их зависимостями.
Исправление KivApple, :
Это почти любой продакшен, где есть бекэнд реализующий какую-то кастомную бизнес-логику, а не просто хостинг статических сайтов на nginx или какие-то другие готовые решения.
Однажды у одной из либ из зависимостей случается ломающее обновление или её разработчика сбивает автобус (да, при выборе стараются выбирать такие, у которых стабильное API и широкое community разработки, но никто не даст 100% гарантий и чем больше либ в проекте и чем дольше идёт проект, тем выше шанс, что хоть одна либа да выстрелит).
И появляется таска «обновить/заменить либу». Только на момент появления этой таски у команды в беклоге ещё сотня других задач, которые тоже нужные и важные (более того, с точки зрения бизнеса они даже более важные, ибо старая версия либы обычно продолжает работать). И между появлением проблемы и обновлением либы может пройти и несколько месяцев и даже несколько лет.
А сервис нужно как-то поддерживать в работе. С Docker просто заморозится версия базового образа, пока команда сервиса работает над решением проблемы, а сисадмин у которого на сервере 10 таких сервисов (и команды некоторых сервисов оказались расторопнее и успели либу обновить или вообще её не использовали) не будет жонглировать их зависимостями.
Исходная версия KivApple, :
Это почти любой продакшен, где есть бекэнд реализующий какую-то кастомную бизнес-логику, а не просто хостинг статических сайтов на nginx или какие-то другие готовые решения.
Однажды у одной из либ из зависимостей случается ломающее обновление или её разработчика сбивает автобус (да, при выборе стараются выбирать такие, у которых стабильное API и широкое community разработки, но никто не даст 100% гарантий и чем больше либ в проекте и чем дольше идёт проект, тем выше шанс, что хоть одна либа да выстрелит).
И появляется таска «обновить/заменить либу». Только на момент появления этой таски у команды в беклоге ещё сотня других задач, которые тоже нужные и важные (более того, с точки зрения бизнеса они даже более важные, ибо старая версия либы обычно продолжает работать). И между появлением проблемы и обновлением либы может пройти и несколько месяцев и даже несколько лет.
А сервис нужно как-то поддерживать в работе.