|
This is a book about system administration. As any system administrator knows, there
is no professional joy greater than seeing systems work consistently and perform their
tasks flawlessly. And the joy is even greater if the systems need as little human attention
as possible. Automating system administration tasks is not only a source of pride, but
also an urgent need once the number of machines under our control grows beyond a
very small number, as it is otherwise impossible to keep track of everything by hand.
The number and complexity of computer systems have grown exponentially over the
years, to the point where managing them by hand has become impossible for any single
person. To this effect, CFEngine can help. CFEngine is a useful automation tool, but
it goes well beyond that. It provides you with a framework to manage and implement
IT infrastructure in a sustainable, scalable, and efficient manner. It allows you to elevate
your thinking about systems so that you can focus on the higher-level issues of design,
implementation, and maintenance, while having the certainty that lower-level details
are handled for you automatically.
My road to writing this book started over 20 years ago, when I first became a Unix
sysadmin at my university, working back then on a DECstation 5000 running Ultrix,
a few SGI machines with Irix, and a Cray Y-MP/400 supercomputer with UNICOS.
Even in that relatively simple environment, the challenges of doing everything by hand
quickly became apparent. Over the years I have appreciated more and more the advantages
of automating as much as possible all system management tasks. I first heard
of CFEngine (still in version 1 back then) during my early years as a sysadmin, and over
the years I loosely followed its development. Then in 2009 I got to work with CFEngine
3, and was immediately impressed with its flexibility and power. I also realized that a
book about it was needed to help beginners overcome many of the questions that surface
while learning to use it. Much of the literature at the time was focused on CFEngine
2, and CFEngine 3 is a completely new version, with vast improvements in all its aspects,
including a completely new syntax.
It is a pleasure to finally deliver this book to you, and I hope you enjoy it.
|
|