CFEngine


CFEngine — это система управления конфигурацией с открытым исходным кодом , написанная Марком Берджессом . Его основная функция заключается в обеспечении автоматизированной настройки и обслуживания крупномасштабных компьютерных систем, включая унифицированное управление серверами , настольными компьютерами , потребительскими и промышленными устройствами, встроенными сетевыми устройствами, мобильными смартфонами и планшетными компьютерами .

Проект CFEngine начался в 1993 году как способ для автора Марка Берджесса (в то время постдокторского научного сотрудника Королевского общества в Университете Осло , Норвегия) выполнять свою работу путем автоматизации управления небольшой группой рабочих станций в Департаменте теоретических исследований. Физика. Как и многие постдоки и аспиранты, Берджесс в конечном итоге получил задачу управлять рабочими станциями Unix, создавать сценарии и устранять проблемы для пользователей вручную. Написание сценариев занимало слишком много времени, разновидности Unix существенно различались, а сценарии приходилось поддерживать для нескольких платформ, утопая в логике исключений.

После обсуждения проблем с коллегой Берджесс написал первую версию CFEngine ( движок конфигурации ), которая была опубликована в качестве внутреннего отчета [4] и представлена ​​на вычислительной конференции CERN. Он привлек значительное внимание более широкого сообщества, потому что смог скрыть различия платформ с помощью предметно-ориентированного языка.

Год спустя Берджесс закончил постдок, но решил остаться в Осло и устроился читать лекции в Университетском колледже Осло . Здесь он понял, что исследований по управлению конфигурацией практически не проводилось , и он приступил к применению принципов научного моделирования для понимания компьютерных систем. За короткий промежуток времени он разработал понятие конвергентных операторов , которое остается ядром CFEngine.

В 1998 году Берджесс написал доклад «Компьютерная иммунология» на конференции USENIX/LISA98. [5] В нем был изложен манифест по созданию самовосстанавливающихся систем, повторенный несколько лет спустя IBM в своей форме Autonomic Computing . Это положило начало исследовательской работе, которая привела к серьезному переписыванию CFEngine 2 , в котором были добавлены функции машинного обучения, обнаружения аномалий и защищенной связи.

В период с 1998 по 2004 год популярность CFEngine росла вместе с популярностью Linux как вычислительной платформы. За это время Марк Берджесс разработал теорию обещаний , модель распределенного сотрудничества для самовосстановления автоматизации. [6]