Monday, February 6, 2012

CFEngine - Beginner's Guide (Book Review)

These days, when terms such as “Cloud Computing” are not just a buzzwords but a reality, the rules of the game change. The IT staff is required to re-think their strategy and general approach towards system administration in order to stay efficient and be able to sustain these large-scale, demanding and extremely dynamic computing environments.

CFEngine is a tool that provides the IT staff the operational agility, efficiency, and insight to be able to cope with the demands of the largest infrastructure environments. It provides an incredible solution for automating various system administration tasks, thus allowing the IT staff to be able to utilize their time better and focus on creativity instead of configuring the same services over and over again.
CFEngine is ideal for large-scale computing environments - Cloud Computing providers, Private Clouds & HPC clusters being the best examples.

Whether if you’re an IT manager, System Engineer/Administrator who works in such environment, most chances you will sooner or later run into CFEngine and need to be familiar with its concepts and potential.
A book I highly recommend as a great study guide is “Cfengine – Beginners Guide” (PACKT Publishing).



The book covers the latest version of CFEngine (version 3), and explains in detail how to make your first steps with CFEngine from the point of initial deployment to the stage where you need to sustain a large scale compute environment being able to bring up services in no time.

The book starts with description of CFEngine architecture, explaining the basic CFEngine functionalities describing how CFEngine various daemons are correlated.
Later on the book provides very practical, real-life scenarios and examples, explained carefully step by step by demonstrating each configuration in action.

Book’s chapters deal with various systems administration tasks and explain how CFEngine makes possible to automate them, for example:

  •       Configuring Systems - Deploying services (such as MySQL, NFS and many more),     network configuration, package management, adding/removing users.
  •        Security Audit – Modifying Iptables rules, service hardening, editing tcpwrappers.
  •       System Audit – Log rotation, Apache modifications

There is also a whole chapter dealing with CFEngine best practices such as – policy creations, potential pitfalls, integration with version control and more, giving the reader a wider picture, thus letting him achieve more efficient implementation of CFEngine in his environment.


Don’t let the name “Beginners Guide” to delude you - the coverage of the book will suit for the most advanced users covering not-trivial topics such as:
Writing new functions, Working with variables inside policies and much much more.

Another cool feature of the book is that each chapter includes a small quiz (answers are also provided), so the reader can test his understanding – thus mastering the tool better.

Bottom line - If you’re looking for a reliable CFEngine learning source look no further.

No comments: