Ткань против Plumbum: различия, варианты использования, плюсы и минусы - PullRequest
0 голосов
/ 12 июня 2018

Каковы плюсы и минусы библиотек Python Fabric и Plumbum для локального / удаленного выполнения команд?Каковы случаи использования, когда одна библиотека должна использоваться, а другая нет?На какие различия следует обратить внимание?

Ответы [ 2 ]

0 голосов
/ 19 августа 2018

справочная информация и предлагаемая методология сравнения

(упс, это мертвый пост)

Оба инструмента забавны, допускают либо локальную, либо удаленную работу, но имеют различия в том, что они должны решатьт. е. «терминология», и оба они в значительной степени устарели с помощью современных инструментов развертывания / автоматизации (например, ansible и многих других, которые выбрали способ DSL, например, terraform).Их преимущество перед более современными заключается в отсутствии «самоуверенного» подхода к «как» и еще к «что».

Предлагаемые критерии сравнения:

  1. «Pythonness» против«Shellness» (т. Е. Насколько «питоничен» код пользователя для каждого)
  2. Специальные возможности
  3. ROI с двумя типами сопровождающих вашего кода автоматизации (ops vs. devs, давайте поставим«QA» как нечто промежуточное)

Ткань (моя последняя работа была сделана в 1.8, возьми это с крошкой соли времени):

  1. более питоническая, чем шелковистаяэто означает, что их легко поддерживать как старыми, так и новыми инструментами - т.е. редакторами, IDE будет легко установить
  2. многие многие контекстные процессоры, много декораторов, очень хорошие
  3. проще для разработчиков,чуть больше тяги будут исходить от людей, занятых операциямиособенность, чтобы получить старшую команду shell / perl на борту, но она используетs динамический импорт, поэтому редакторы / IDE немного сложнее в настройке.
  4. Из-за 1. Вы будете получать на работу людей 'ops' проще, из-за имитации конструкций оболочки в Plumbum, но, пожалуйста, установите хорошие соглашения по кодированию.

Эпилог

Поработав с обоими наборами инструментов (очень весело), ​​а затем переключившись на ansible - я чувствую себя уверенно утверждать - оба инструмента теперь заменены ansible.Вы можете выполнять большинство задач по автоматизации с существующими модулями ANSIL, а что вы не можете - вы можете написать плагин или модуль для него (на любом языке) или просто вызвать модуль оболочки.

Мое рассмотрение будет следующим:

  • , если ваша команда сопровождающих имеет хороший уровень навыков программирования (особенно на python) - вам будет хорошо, если вы будете использовать любую ткань, Plumbum (у нее более крутые хаки;)) или Ansible.
  • если у вас многоуровневая многопрофильная организация, я бы просто сделал ставку на Ansible - у него более низкая кривая обучения и он легко растет.

Добрый день.

0 голосов
/ 18 июля 2018

Это почти одно и то же.Самая большая победа над матрицей над plumbum - это возможность параллельного подключения к нескольким хостам, что более или менее необходимо при работе с нетривиальной установкой.Fabric также предлагает несколько помощников, которые позволяют загружать шаблоны jinja, загружать файлы и передавать файлы обратно в локальную систему.Лично я считаю, что API-интерфейс фабрики гораздо более интуитивно понятен для работы с удаленными серверами.

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

...