Системы управления конфигурацией. Чем отличаются Chef, SaltStack, Puppet, CFEngine и Ansible?::Журнал СА 6.2014
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Сетевая инфраструктура  

Как удаленная работа меняет подход к сетевой инфраструктуре?

С увеличением числа сотрудников, работающих из дома, организации сталкиваются с необходимостью создания

 Читать далее...

Мониторинг  

Какой мониторинг нужен сегодня?

По мнению экспертов ГК InfoWatch, действия сотрудников – самая распространенная причина инцидентов

 Читать далее...

Книжная полка  

Руководство для тех, кто увлечен ИИ, программированием. И дизайном

Накануне лета издательство «БХВ» выпустило книжные новинки, от которых любителям чтения будет

 Читать далее...

Мобильные приложения  

Искусственный интеллект в мобильных приложениях: возможности и перспективы

Обзор современных применений ИИ в мобильных приложениях, анализ перспектив развития этой технологии,

 Читать далее...

ИТ-образование  

Как сделать ИТ-образование эффективным?

Эксперты ИТ-отрасли отвечают на вопросы «СА». Обсуждаем ключевые аспекты для улучшения образовательных

 Читать далее...

Work-life balance  

Как айтишнику найти баланс между работой и личной жизнью?

Обсуждаем инструменты для эффективного управления временем, снижения уровня стресса и достижения гармонии. На

 Читать далее...

Книжная полка  

Всё самое нужное – под одной обложкой

Отличительная черта книжных новинок, выпущенных недавно издательством «БХВ» – это их универсальность. Не просто

 Читать далее...

ИТ-инфраструктура  

Системы мониторинга ИТ-инфраструктуры-2025

Без мониторинга ИТ-инфраструктуры не обходится ни одна компания, хотя бы потому, что

 Читать далее...

Открытое ПО  

Безопасность Open Source: рискуем или контролируем?

Компания «Кросс технолоджис» изучила, как используется ПО с открытым кодом в компаниях

 Читать далее...

Работа с нейросетью  

Скажи, есть ли у тебя AI, и я скажу, кто ты

Недавно сервис по поиску работы SuperJob выяснил, что каждый второй россиянин уже

 Читать далее...

Опрос  

Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?

По данным RED Security, общее число кибератак на российские компании в 2024

 Читать далее...

Опрос  

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

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Как с помощью облака сделать

 Читать далее...

Опрос  

Рынок мобильных приложений: что будет актуальным в 2025 году?

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Ваши прогнозы: чего ожидать от

 Читать далее...

Рынок труда  

Как успешно пройти все этапы собеседования на ИТ-должность?

По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 8168
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 8424
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 5754
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3613
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 4399
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 4405
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6959
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3752
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 4024
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7927
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 11284
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 13004
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14771
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9708
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7659
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5950
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 5130
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3973
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3678
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3902
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Системы управления конфигурацией. Чем отличаются Chef, SaltStack, Puppet, CFEngine и Ansible?

Архив номеров / 2014 / Выпуск №6 (139) / Системы управления конфигурацией. Чем отличаются Chef, SaltStack, Puppet, CFEngine и Ansible?

Рубрика: Администрирование /  Инструменты

Сергей Житинский СЕРГЕЙ ЖИТИНСКИЙ, генеральный директор Git in Sky (ООО «Жить в небе»), sergey@gitinsky.com

Александр Чистяков АЛЕКСАНДР ЧИСТЯКОВ, главный инженер Git in Sky (ООО «Жить в небе»), alex@gitinsky.com

Системы управления конфигурацией
Чем отличаются Chef, SaltStack, Puppet, CFEngine и Ansible?

В статье рассматриваются четыре важнейшие группы свойств систем управления конфигурацией, по которым делается сравнение популярных CM-инструментов

Компьютеры, которые работают в качестве серверов, должны обладать в первую очередь повышенной надежностью и бесперебойностью в работе. Для этого, кроме прочего, им нужно обеспечит очень хорошую управляемость. Это достигается многими технологиями и, в том числе, применением программных систем управления конфигурациями. По-английски эти системы называются Configuration Management (CM).

На рис.1 изображена типичная организация компонентов программного CM-инструмента в общем случае. Operator – это вы – системный инженер, который эксплуатирует систему. В Repository хранятся вводные данные – спецификации, которые описывают инфраструктуру или сервер. Спецификация переводится в profile на Translation Agent. Эти данные передаются (или забираются) на управляемые узлы (managed devices) и превращаются там в набор исполняемых команд при помощи компонента внедрения (deployment agent).

Рисунок 1. Общая схема работы CM-системы

Рисунок 1. Общая схема работы CM-системы

CM-системы позволяют настраивать сервера не руками, а программным способом. Они автоматизируют труд системных администраторов, превращая их в системных инженеров. Серверы при этом настраиваются быстро и безошибочно (если, конечно, сами управляющие скрипты-рецепты-плейбуки были написаны без ошибок). Кроме того, система управления конфигурацией позволяет следить за изменениями состояния сервера и поддерживать на нем стабильную эталонную конфигурацию.

Решение подобной задачи необходимо, как правило, на довольно крупных системах, так как позволяет экономично эксплуатировать большой парк однотипных серверов. Однако теперь все чаще можно встретить использование CM на небольших проектах, изначально закладывающих в архитектуру несколько ролей серверов и стандартных окружений (разработка-тест-продакшн).

Управление конфигурацией через код, хранимый в репозитории, существенно повышает управляемость процессом настройки и администрирования ИТ-инфраструктуры. Эта парадигма приобрела даже свою собственную аббревиатуру – IaaC – Infrastructure as a Code.

Поскольку интерес к CM-продуктам неуклонно растет, в данной статье мы попытались проанализировать и сравнить самые популярные из них.

История возникновения популярных CM-инструментов

Первая система управления конфигурацией, появившаяся на рынке, была CFEngine. Основатель и бессменный руководитель проекта CFEngine – норвежский ученый Марк Бургес, работающий в университете города Осло.

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

Почти одновременно, в 1994 году, выходит LCFG – CM-система на Perl, разработанная в Эдинбургском университете. В отличие от CFEngine, система использовала централизованную архитектуру с обработкой запросов узлов на центральном сервере.

В 1998 году появляется еще несколько систем – ISConf, PIKT, STAF. Честно говоря,мы не исследовали их подробно, важно, что на этом рынке уже была конкуренция.

В 2002 году выходит CFengine2 – версия, в которой вводятся понятия convergence to desired state и self-healing. Эти парадигмы позволяли управляемым компьютерам самостоятельно обнаруживать отклонения от желаемого состояния и возвращаться к нему путем выполнения определенных команд или операций.

В 2000-е годы появляется еще несколько разработок, из которых самой популярной становится BCfg2 на Python. В этой системе не было изначально модульности и она не позволяла подняться выше уровня абстракции «Configuration files» (см. ниже). Но система была написана на Python и поэтому привлекла к себе внимание сообщества «питонщиков».

В 2005 году один из продвинутых пользователей CFEngine2 Luke Kanies решает сделать свой продукт, в связи с тем, что он был недоволен тем, как Марк Бургес управлял развитием CFEngine.

Действительно, ученые, при всем к ним уважении, редко бывают хорошими управленцами или бизнесменами. Так родился Puppet, отличительными особенностями которого стал движок моделей на основе графов состояний, простой и понятный DSL-язык описаний на основе Ruby и изначальная ориентированность на сообщество разработчиков. Все эти инновации были востребованы рынком, поэтому Puppet стал активно внедряться в промышленную эксплуатацию.

В 2008 году Марк Бургес и его проект CFEngine3 ответили Puppet более удобным языком описаний и новой стройной концепцией, которая называлась Theory of Promises – теория обещаний. В одноименной книге Бургес попытался описать «обещания» как технический объект, а не юридически-моральный, как было принято до него. Концепция была внедрена в продукт и теперь, если вы хотите настроить сервер при помощи CFEngine3, вы должны разобраться, что такое «обещание» и кто кому их дает среди серверов вашего проекта.

В 2009 году несколько активных членов сообщества Puppet во главе с Adam Jacobs в свою очередь решили отпочковаться и создать свой продукт, который они назвали Chef. В отличие от Puppet, и его якобы «недетерминированности», в Chef все операции идут в том порядке, в котором их написал программист. Кроме того, язык описаний (DSL) в Chef – это просто Ruby, что позволило привлечь разработчиков на этом популярном языке к созданию первичной базы скриптов (в терминологии Chef – рецептов).

В 2011 разработчики суперскоростного пакета обмена сообщениями ZeroMQ создают свою CM-систему SaltStack, преимуществом которой является именно скоростная коммуникация между узлами сети.

В 2012 стартовал проект Ansible – система управления конфигурациями, с возможностью решения ad-hoc задач, без софтверного агента на управляемом узле. Работает через SSH, на управляемом узле требуется только Python версии 2.4+. Как следствие эта программа не позволяет управлять зависимостями между узлами инфраструктуры.

Как видим, пакетов достаточно много, познакомиться с ними можно в Википедии [1]. Причем это сравнение не содержит проприетарные инструменты от компаний IBM, HP, Microsoft, Dell и других серьезных производителей решений.

Мы выбрали для анализа только самые известные из Open Source решений, которые используются на реальных проектах и, что немаловажно, используются реальными клиентами нашей компании Git in Sky, то есть мы имели опыт работы с ними в реальных задачах.

Итак, эти инструменты:

  • CFEngine3 (Community Edition v3.5.0);
  • Puppet (v2.7.*);
  • Opscode Chef (v11.6.0);
  • SaltStack (v2014.1.0);
  • Ansible (v1.5).

Методология сравнения

В своем исследовании мы опирались на методологию [2], разработанную в 2010 году в бельгийском университете Katholieke Universiteit Leuven.

Статью целиком читайте в журнале «Системный администратор», №6 за 2014 г. на страницах 35-39.

PDF-версию данного номера можно приобрести в нашем магазине.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru