143 452 просмотра нашего канала на YouTube!

ћерион Ќетворкс

6 минут чтени€

 ак и множество других инструментов дл€ управлени€ и автоматизации на рынке программного обеспечени€, Ansible был изначально open Ц source проектом (с открытым исходным кодом), который предназначалс€ дл€ автоматизации настройки и деплоймента (развертывани€) ѕќ в сетевых контурах компаний. „его скрывать, продукт Ђстрельнулї - когда компани€ AnsibleWorks это пон€ла, начала активную монетизацию через коммерческую поддержку продукта дл€ корпоративных заказчиков.

¬ насто€щее врем€ их продуктова€ линейка состоит из двух направлений - Ansible и Ansible Tower, причем последний обладает полноценным интерфейсом управлени€ (UI) и возможностью реализации дашбордов.

Ansible - новые реб€та в DevOps направлении, по сравнению, например, с Chef или Puppet, но успели круто зарекомендовать себ€ в сообществе профессионалов за простоту и скоуп возможностей. ≈го playbooks пон€тны и легко читаемы, даже без особых знаний.

“ак к чему это все? ¬ Ђправильных рукахї, где присутствует полное понимание плюсов и минусов продукта Ansible может работать еще круче :) ѕоэтому, хотим рассказать про 5 лучших и 5 худших свойств Ansible.

“оп 5 лучших и худших свойств Ansible Playbooks в Ansible это файл в формате YAML, который содержит последовательность состо€ни€ ресурсов системы, задач, которые позвол€ет запустить то или состо€ние сервера.

5 лучших качеств Ansible

Ћегкость в изучении

ѕо правде говор€, это одно из самых крутых качеств Ansible Ц изучить его можно за один вечер и уже запускать веб Ц сервер из YAML, например. Ansible задачи запускаютс€ последовательно, что сильно облегчает траблшутинг конфигураций. Ќапример, можно сделать Playbook дл€ Ansible, который позволит получить минимальный веб сервер примерно так:

  • —оздаем файл формата .yml и наполн€ем командами;
  • ”становить через yum apache;
  • «апустить apache как сервис в операционной системе;
  • —копировать в корень веб Ц сервера html страничку с заглушкой (Ђћы готовим информацию по сайту, скоро здесь все будет, бла бла бла..ї);
  • —корректировать iptables, открыв порты и сохранить конфигурацию;

Ќе сложно, не правда ли?

Ќаписан на Python

я, как автор статьи, подметил следующее: если мы возьмем 10 программистов, веро€тность, что кто-то из них знает Python гораздо выше, чем то, что кто Ц то из них знает Ruby. »менно это делает Ansible крутым Ц он написан на питоне в отличие от Ruby Ц based конкурентов. “ак же отмечу, что Python библиотека, обычно, по умолчанию присутствует в любом Linux дистрибутиве, чего не сказать о Ruby.

ѕродолжа€ экскурсию Ц Ansible поддерживает написание модулей на любом €зыке программировани€. ≈динственное требование Ц формат ответа. Ёто должен быть JSON.

Ќе нужно ставить клиента (агента) на машину

ƒл€ управлени€ узлами, Ansible обрабатывает все коммуникации между мастер Ц узлами и узлами Ц агентами по стандартному SSH, или через модуль Paramiko, который €вл€етс€ частью Python SSH второй версии.

Ќе нужно ставить агентское ѕќ на удаленные машины Ц только SSH подключение.  ак следствие, упрощение обслуживани€ и траблшутинга.

YAML плейбуки

 ак мы писали ранее, плейбуки в јнсибл неверо€тно просты и читаемы. ¬се DevOps инженеры, с которыми мы обсуждали его, освоили их за один вечер. ќни даже проще чем JSON :)

ѕортал Ansible Galaxy

ѕортал, на котором вы наверн€ка найдете решение дл€ своей задачи. Ёто объединение Ansible сообщества, где люди дел€тс€ наработками и решени€ми той или иной задачи. «наете, это как ответ на мэйл.ру - чтобы вам не пришло реализовать на јнсибл, то как правило, кто Ц то эту задачу уже решил :). “онны плейбуков, фреймворков, дистрибутивов и сопутствующего ѕќ.


5 худших качеств Ansible

Ќастало врем€ хорошенько пройтись по Ansible и выделить минусы продукта. ѕожестим.

ѕроблемы с интерфейсом (UI)

»значально Ansible разработан дл€ работы с командной строкой. ѕервые наметки в сторону визуализации конфигурации јнсибл начались через AWX Ц графический интерфейс пользовател€, который €вл€лс€ первой попыткой упрощени€ конфигураций через интерфейсную составл€ющую. ¬ последствии, AWX превратилс€ в Anbile Tower, который дает возможность через GUI управл€ть Ansible, рисовать workflow и так далее.

Ќесмотр€ на улучшение Tower перед AWX, он все равно позвол€ет делать только 85% рабочего функционала Ansible, который можно делать через командную строку. ¬ добавок, конфигурации внесенный через интерфейс зачастую не синхронизируютс€ с CLI Ц конфигами.

Ansible Tower находитс€ на стадии разработки и пока весьма сыроват.

Ќет работы с состо€нием машин/процессов

≈сли сравнивать с тем же Puppet, Ansible не имеет пон€ти€ Ђсосто€ниеї и, соответственно, не отслеживает его. јнсибл не смотрит на зависимости, а просто выполн€ет последовательный р€д задач/процессов. ƒл€ кого Ц то это нормально и удовлетвор€ет поставленным задачам, но есть и другие пользователи, у которых от такой работы, м€гко говор€, Ђподгораетї :)

—лаба€ поддержка совместимости с Windows

— версии 1.7 Ansible умеет работать с Unix и Windows узлами, но надо признатьс€, работа с первыми реализована гораздо лучше. ¬заимодействие с Windows машинами происходит через PowerShell, и, что важно, вам все равно потребуетс€ Linux хост (управл€юща€ тачка) дл€ такой коммуникации.

∆дем, когда Ansible разрабы разгребут бэклог по работе продукта с Windows.

ѕоддержка крупного бизнеса

Ansible Enterprise Tower и Premiun Tower имеют 8х5х4 и 24х7х2 SLA соответственно, но имеют меньше опыта поддержки крупн€ков, в сравнении, например, с Chef и Puppet.

Ќовизна продукта

Ansible находитс€ на рынке меньше своих конкурентов и, само собой, баги будут всплывать.   тому же, комьюнити јнсибл только растет и развиваетс€, в отличие от более крупных игроков, упом€нутых в этой статье.


»тоги

ѕодведем черту: Ansible это просто, гибкий и мощный инструмент, дл€ управлени€ конфигами и автоматизацией. Ansible Tower имеет графический веб Ц интерфейс, REST API, с помощью которого вы можете интегрировать свой сторонние приложени€ и поддержку, котора€ только учитс€ и осваивает азы сопровождени€ крупного энтерпрайза.

Ansible Ц новинка, котора€ имеет своих ранних последователей, противников, сторонников. —очета€ в себе большое количество плюсов, он, конечно, имеет р€д недостатков или так сказать Ђранних болезнейї, через которые уже прошли более крупные конкуренты.

Ќо кто знает, что покажет нам Ansible завтра?


ѕолезна ли ¬ам эта стать€?


Ёти статьи могут быть вам интересны: