LINUX.ORG.RU

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

Исправление Deleted, (текущая версия) :

Ответ на все «как» - контейнер.

Образы контейнеров прекрасно работают и в качестве предсказуемой среды сборки, и в качестве средства деплоя.

При этом контейнер инкапсулирует всю сложность деталей реализации зависимостей, такой как хидеры, dso, внезапные баги в стабильном API и т.п. И вместе с тем, у разработчика всегда остаётся возможность гибко определить желаемый баланс между паранойей и доверием стабильности декларируемого API.

При этом контейнер ещё представляет и понятную единицу управления данными при необходимости архивировать, восстанавливать, проверять целостность и т.п., вместо фарша артефактов nix.

Ты не принимаешь во внимание, что пересборка не бесплатная, и более того, зачастую довольно дорогая. Если у тебя деплой хотфикса в продакшн после прохождения QA занимает 5 минут - это одно, и если час на «правильную» пересборку мира - это другое. На практике это могут быть прямые потери на миллионы долларов, репутационые потери на неизвестный офигилиард долларов и т.п.

А если ты используешь хак с заменой зависимости без пересборки, то это фактически означает, что ты не использовал nix для того, для чего он предназначен. Ну и зачем в деплое такая система, которую приходится отключать для деплоя?

Исправление Deleted, :

Ответ на все «как» - контейнер.

Образы контейнеров прекрасно работают и в качестве предсказуемой среды сборки, и в качестве средства деплоя.

При этом контейнер инкапсулирует всю сложность деталей реализации зависимостей, такой как хидеры, dso, внезапные баги в стабильном API и т.п. И вместе с тем, у разработчика всегда остаётся возможность гибко определить желаемый баланс между паранойей и доверием стабильности декларируемого API.

При этом контейнер ещё представляет и понятную единицу управления данными при необходимости архивировать, восстанавливать, проверять целостность и т.п., вместо фарша артефактов nix.

Ты не принимаешь во внимание, что пересборка не бесплатная, и более того, зачастую довольно дорогая. Если у тебя деплой хотфикса в продакшн после прохождения QA занимает 5 минут - это одно, и если час на «правильную» пересборку мира - это другое. На практике это могут быть потери на миллионы долларов, репутационые потери на неизвестный офигилиард долларов и т.п.

А если ты используешь хак с заменой зависимости без пересборки, то это фактически означает, что ты не использовал nix для того, для чего он предназначен. Ну и зачем в деплое такая система, которую приходится отключать для деплоя?

Исходная версия Deleted, :

Ответ на все «как» - контейнер.

Образы контейнеров прекрасно работают и в качестве предсказуемой среды сборки, и в качестве средства деплоя.

При этом контейнер инкапсулирует всю сложность деталей реализации зависимостей, такой как хидеры, dso, внезапные баги в стабильном API и т.п. И вместе с тем, у разработчика всегда остаётся возможность гибко определить желаемый баланс между паранойей и доверием стабильности декларируемого API.

При этом контейнер ещё представляет и понятную единицу управления данными при необходимости архивировать, восстанавливать, проверять целостность и т.п., вместо фарша артефактов nix.

Ты никак не хочешь принимать во внимание, что переборка не бесплатная, и более того, зачастую довольно дорогая. Если у тебя деплой хотфикса в продакшн после прохождения QA занимает 5 минут - это одно, и если час на «правильную» пересборку мира - это другое. На практике это могут быть потери на миллионы долларов, репутационые потери на неизвестный офигилиард долларов и т.п.

А если ты используешь хак с заменой зависимости без пересборки, то это фактически означает, что ты не использовал nix для того, для чего он предназначен. Ну и зачем в деплое такая система, которую приходится отключать для деплоя?