CFEngine
Эта статья в значительной степени или полностью опирается на один источник . ( август 2014 г. ) |
Первоначальный выпуск | 1993 |
---|---|
Стабильная версия | |
Репозиторий | |
Операционная система | Кросс-платформенный |
Платформа | Unix-подобный , Windows |
Тип | Управление конфигурацией Системное администрирование Управление сетью |
Лицензия | Стандартная общественная лицензия GNU версии 3. |
Веб-сайт | cfengine |
CFEngine — система управления конфигурациями , написанная Марком Берджессом . Его основная функция — обеспечение автоматизированной настройки и обслуживания крупномасштабных компьютерных систем, включая унифицированное управление серверами , настольными компьютерами , потребительскими и промышленными устройствами, встроенными сетевыми устройствами, мобильными смартфонами и планшетными компьютерами .
Выпущенный на условиях GNU General Public License , CFEngine является свободным программным обеспечением .
История
[ редактировать ]Проект CFEngine начался в 1993 году как способ для автора Марка Берджесса (в то время постдокторанта Королевского общества в Университете Осло , Норвегия ) выполнить свою работу путем автоматизации управления небольшой группой рабочих станций на факультете теоретических исследований. Физика. Берджесс управлял рабочими станциями Unix, вручную писал сценарии и устранял проблемы пользователей. Написание сценариев занимало слишком много времени, разновидности Unix существенно различались, а сценарии приходилось поддерживать для нескольких платформ, утопая в логике исключений. Обсудив проблемы с коллегой, Берджесс написал первую версию CFEngine ( механизма конфигурации ), которая была опубликована как внутренний отчет. [4] и представлен на компьютерной конференции CERN. Он привлек значительное внимание более широкого сообщества, поскольку скрывал различия между платформами с помощью предметно-ориентированного языка.
Год спустя Берджесс закончил аспирантуру, но решил остаться в Осло и устроился преподавателем в Университетский колледж Осло . проводится мало или вообще не проводится Здесь он понял, что исследований по управлению конфигурацией , и приступил к применению принципов научного моделирования для понимания компьютерных систем. Он разработал понятие конвергентных операторов , которое остаётся ядром CFEngine.
В 1998 году Берджесс написал доклад «Компьютерная иммунология» на конференции USENIX/LISA98. [5] В нем был изложен манифест создания самовосстанавливающихся систем, который несколько лет спустя повторил IBM в своей форме автономных вычислений . Это положило начало исследовательской работе, которая привела к серьезной переработке CFEngine 2 , в которую были добавлены функции машинного обучения, обнаружения аномалий и безопасной связи.
В период с 1998 по 2004 год распространение CFEngine росло вместе с популярностью Linux как вычислительной платформы. За это время Марк Берджесс разработал теорию обещаний — модель распределенного сотрудничества для самовосстанавливающейся автоматизации. [6] [7] По словам Берджесса, в 2008 году, после более чем пяти лет исследований, был представлен CFEngine 3 , который включал теорию обещаний как «способ сделать CFEngine одновременно более простым и мощным». Самая значительная переработка проекта на сегодняшний день: CFEngine 3 также интегрировал механизмы управления знаниями и обнаружения, что позволяет масштабировать управление конфигурацией для автоматизации инфраструктуры корпоративного класса.
В июне 2008 года в результате сотрудничества автора Марка Берджесса, Университетского колледжа Осло и Инновационного центра Осло была создана компания CFEngine AS с целью поддержки пользователей CFEngine. В апреле 2009 года компания запустила первую коммерческую версию CFEngine — CFEngine Enterprise. Версию Enterprise можно загрузить бесплатно для максимум 25 агентов (клиентов). В феврале 2011 года компания получила первый раунд финансирования от FERD Capital. [8] Компания имеет офисы в Осло, Норвегия и Маунтин-Вью, Калифорния, США.
В 2017 году компания сменила название на Northern.tech , чтобы отразить, что она работает над несколькими программными продуктами, а не только над CFEngine. [9]
Дизайн
[ редактировать ]Одна из основных идей CFEngine заключается в том, что изменения в конфигурации компьютера должны осуществляться конвергентным образом . [10] [11] Это означает, что каждая операция изменения, совершаемая агентом, должна носить характер фиксированной точки . Вместо описания шагов, необходимых для внесения изменений, язык CFEngine описывает конечное состояние, в котором вы хотите оказаться. Затем агент гарантирует, что будут предприняты необходимые шаги для перехода в это «состояние, соответствующее политике». Таким образом, CFEngine можно запускать снова и снова, независимо от начального состояния системы, и в конечном итоге это приведет к предсказуемому результату. CFEngine поддерживает элемент статистического соответствия политике, что означает, что система никогда не может гарантировать нахождение в точном идеальном или желаемом состоянии, скорее, система приближается (сходится) к желаемому состоянию, прилагая максимум усилий, со скоростью, которая определяется отношение частоты изменения окружающей среды к скорости выполнения CFEngine. [12]
CFEngine предоставляет независимый от операционной системы интерфейс для Unix-подобной конфигурации хоста. Он требует некоторых экспертных знаний для работы с особенностями различных операционных систем, но позволяет выполнять действия по обслуживанию на нескольких хостах. CFEngine также можно использовать на хостах Windows и широко используется для управления большим количеством хостов Unix, на которых работают гетерогенные операционные системы , например Solaris , Linux , AIX , Tru64 и HP-UX . [ нужна ссылка ]
Пользователи
[ редактировать ]CFEngine используется как в крупных, так и в небольших компаниях, а также во многих университетах и государственных учреждениях. [ нужна ссылка ] Крупнейший центр обработки данных, находящийся под управлением CFEngine, насчитывает более миллиона серверов, в то время как публично сообщается о сайтах размером до 40 000 машин ( LinkedIn [13] ), тогда как сайты из нескольких тысяч хостов, работающих под управлением CFEngine, являются обычным явлением. [ нужна ссылка ] По статистике CFEngine AS, CFEngine работает, вероятно, на нескольких миллионах компьютеров по всему миру, а зарегистрированы пользователи из более чем 100 стран.
Исследовать
[ редактировать ]Вскоре после своего создания CFEngine вдохновил на исследование области автоматизированного управления конфигурациями. Проект CFEngine утверждает, что пытается поместить проблему управления конфигурацией в научную основу. Ее автор Марк Берджесс разработал ряд теоретических инструментов и результатов для обсуждения этой проблемы, а также написал несколько учебников и монографий, объясняющих их. [ нужна ссылка ]
См. также
[ редактировать ]- Сравнение программного обеспечения для управления конфигурацией с открытым исходным кодом
- Система обнаружения вторжений на основе аномалий
- Хостовая система обнаружения вторжений
- Руль направления (программное обеспечение)
Ссылки
[ редактировать ]- ^ Команда и сообщество CFEngine. «Выпущен CFEngine 3.24.0» . Northern.tech AS.
- ^ Команда и сообщество CFEngine. «Выпущен CFEngine 3.21.5» . Northern.tech AS.
- ^ Команда и сообщество CFEngine. «Выпущен CFEngine 3.18.8» . Northern.tech AS.
- ^ Бёрджесс, Марк . «Университет Осло: Cfengine V2.0: инструмент настройки сети» (PDF) . Ю.хио.но. Архивировано из оригинала (PDF) 23 июля 2013 г. Проверено 8 сентября 2013 г.
- ^ Берджесс, Марк (декабрь 1998 г.). «Компьютерная иммунология» (PDF) . Usenix.org . Проверено 8 сентября 2013 г.
- ^ Берджесс, Марк ; Коуч, Альва (28 ноября 2006 г.). «Автономные вычисления, аппроксимированные обещаниями с фиксированной запятой, материалы первого международного семинара IEEE по моделированию сред автономной связи (MACE2006)» (PDF) . стр. 197–222. Архивировано из оригинала (PDF) 25 апреля 2012 г.
- ^ Хогг, Скотт (1 июля 2014 г.). «Теория обещаний» . Сетевой мир . Проверено 1 сентября 2023 г.
- ^ «Cfengine завершает инвестиции серии А» (пресс-релиз). Осло, Норвегия: PRNewswire . 04.04.2011 . Проверено 22 августа 2014 г.
- ^ Райд, Томас (1 июля 2017 г.). «Добро пожаловать в Northern.tech» . Блог. Северные технологии . Проверено 28 июля 2024 г.
- ^ Берджесс, Марк (лето 1995 г.). «Cfengine: механизм настройки сайта» (PDF) . Вычислительные системы USENIX . 8 (3). Беркли, Калифорния, США: USENIX . Проверено 22 августа 2014 г.
- ^ Берджесс, Марк (29 ноября 2003 г.). «Настраиваемый иммунитет для развивающихся человеко-компьютерных систем» . Наука компьютерного программирования . 51 (3): 197–213. дои : 10.1016/j.scico.2003.12.004 .
- ^ Берджесс, Марк (2003). «К теории системного администрирования» . Наука компьютерного программирования . 49 (1–3): 1–46. дои : 10.1016/j.scico.2003.08.001 .
- ^ «Пример использования CFEngine — инфраструктура LinkedIn и автоматизация операций в WebScale» (PDF) . CFEngine AS. Ноябрь 2014.
Внешние ссылки
[ редактировать ]- Управление конфигурацией
- Программное обеспечение для оркестровки
- Бесплатное программное обеспечение для управления сетью
- Программное обеспечение для управления мультиагентной сетью
- Программное обеспечение, использующее лицензию GPL
- Системное администрирование
- Программное обеспечение для управления пакетами Unix