четверг, 2 апреля 2015 г.

Прекрасное средство — aptly

Любой системный администратор или, модный ныне, девопс, проходит множество этапов роста мастерства, и по моим личным наблюдениям, один из хороших признаков этого отношение к версиям софта.

Свежий, не битый, полный сил и здоровья админ с удовольствием ставит libfoobar-0.11.beta в продакшен в ту же ночь как она релизится. И с большим упоением следит за changelog выискивая там что-нибудь новенького.


Те натруженные ребята что уже имели опыт множества таких обновлений и бывали сильно биты коллегами, больше любят тренироваться на кошках, и прогонять какие-либо тесты в специальном окружении. Могут легко пропустить пяток версий используемого софта.

В некоторых случаях, если команда девелоперов или менеджеров погоняющая такого админа слаба, софт перестает обновляться «навсегда». Работает — отойди.

Скорее всего, между всеми этими стадиями не найти разумного компромисса, всё диктуется конкретными бизнес задачами и наличием разнообразных возможностей.

Но, за последнее время я заметил, один небольшой, но новый нюанс в этом движении.

С современным развитием виртуализации, включая контейнерную, с современным средствами подготовки и управления образов, разнообразными packer, ansible и т.д. на одно из первых мест, для меня, выходит возможность гарантированной возможности получить в точности тот же образ что и на другом железе/облаке/где-либо ещё.

Средств для этого много, но был у меня  один «непокрытый» момент.
Я как-то очень уж смело полагался на содержимое внешних репозиториев debian.

А зря. В итоге, некоторые из моих машин, построенные одинаковым способом, имели разные версии пакетов, просто потому что на момент её развертывания в репозиторий попадал новый пакет.

Ну, и как водится однажды оно выстрелило.
Ничего особенно страшного не произошло, считаем просто вежливым напоминанием судьбы.

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

Оказалось, что всё уже придумано за нас: http://www.aptly.info/, Автор - Andrey Smirnov.

Прекрасный инструмент, позволяющий с легкостью локально поддерживать множество срезов репозитория, объединять их, версионировать и прочее и прочее.

Рекомендую!