What is CFEngine and Why?
What is CFEngine?
CFEngine is a software solution that helps system administrators and other stakeholders in the IT organization become more agile and respond faster to business requirements while ensuring SLAs and regulatory compliance, through automation.
CFEngine allows users, in code using the domain specific language of CFEngine, to define desired states of the IT infrastructure. Lightweight CFEngine agents continuously ensures that the actual states are converging toward the desired states, while reporting the outcome of each run. The solution is heavily researched and built upon Promise Theory.
Written in C, CFEngine runs on multiple platforms and architectures, from the smallest embedded devices, on servers, in the cloud to mainframes, easily handling tens and hundreds of thousands of hosts.
The solution comes in a free open source Community Edition and paid commercial Enterprise Edition.
Being a general purpose automation solution, CFEngine is used in a wide variety of ways, from building servers, deploying and patching software to configuration management tasks like scheduling, local user-management, process-management, security hardening, inventory and compliance management.
Many DevOps organizations use CFEngine to ensure consistency across different staging environments and automated application deployment. Due to its strong security track-record CFEngine is widely used in heavily regulated industries like financial services, telecom, health care and governmental agencies.
Mark Burgess, Founder and author of CFEngine talks about the reasons CFEngine is a Configuration Management system for the century.