Automating System Administration with CFEngine 3Brian Bennett, Vertical Sysadmin, Inc., authorized CFEngine trainerWho should attend this course:Anyone with at least a basic knowledge of system administration interested in increasing operational efficiency and sysadmin happiness.Why do you need to know about Automated System Administration?Automation of system administration is the key to scalability. It helps not only in change management but also in knowledge management (documenting the intended… Show more state of your system and the reasons why it is configured that way). Automating your system administration is key to career progression from system administration to more interesting system engineering work.Why CFEngine 3?CFEngine is the granddaddy of policy-based configuration management systems, and CFEngine version 3 increases the power and flexibility of managing network-attached computers. CFEngine can operate in the widest variety of environments, from embedded sensors to supercomputers, from underwater to outer space. It can run on the widest range of operating systems and has the smallest resource footprint. CFEngine is a very powerful tool.What you will take back to work:A thorough grounding in automating system administration using CFEngine 3 and the ability to implement configuration policies on your systems. You will be able to automatedly handle and control files, processes, packages, and commands, all resulting in Correct and Known Configuration on your servers. You will know how to set up CFEngine client-server, so that you can use it at scale.What this course covers:The history, design principles, and philosophy of CFEngine:CFEngine 1: A configuration management language to handle different Unix systemsCFEngine 2: Computer Immunology and Convergence to Desired StateCFEngine 3: The Promise ModelThe importance of abstraction for knowledge managementThe Basic Grammar of CFEngine 3:Promises of desired system statePromise atributesCollections of promisesCollections of promise attributesThe CFEngine 3 Data Types and How to Use Them:Scalar variables: Strings, integers, and real numbersLists of ScalarsArraysHow to use Patterns in Promises to Describe Configuration Efficiently:Classifying servers to control when and where configuration promises apply using CFEngine "classes"Leveraging the power of regular expressionsUsing lists to drive action: add or remove users, install or delete packages, and so on.Re-using code by abstracting promise attributes into parameterizable promise bodiesRe-using code by abstracting promise bundles into parameterizable methodsAdvanced CFEngine TopicsSelecting files using simple and compound filtersSelecting processes using simple and compound filtersConfiguring a CFEngine client-server systemGenerating reports; how CFEngine can help you audit and report compliance.Many practical examples and exercises to help seed your policy set.Demonstration of the Enterprise edition of CFEngine.The course balances theory and practical. See the complete course plan .Requirements: Attendees are expected to be familiar with command-line Linux/UNIX utilities and basic system administration tasks (installation software, setting up networking, etc). Each attendee will be asked to bring a laptop with two VMs installed that can talk to each other (one VM should be able to SSH into the other) for the client-server configuration exercise.About the InstructorBrian has been using UNIX and Linux for 16 years, clocking in an estimated 80,000+ hours on the command line. He has used cfengine for 8 years while at Anonymizer where he developed products and architected the privacy network. I'm now working at Joyent as a Senior Network Engineer. He is an IPv6 advocate.Note: We have sufficient registrations and this course is guaranteed to run.Student Successes"The balance between theoretical and practical knowledge is just perfect. No bullshit."B.B.Thank you for such a great class. Been to lots of technical training and you are the best instructor I've had. Beyond standard lecture/lab your examples and willingness to help with non-class related questions pertaining to CFEngine is unmatched.T.N. I was able to "unlearn" some of my bad habits that came with my legacy cfengine2 set up. A lot of the things that previously made cfengine3 daunting to me are now clear and approachable.B.B.The examples presented were easy to follow and provided me the chance to ask questions. You were very thorough about your explanation of various aspects of the CFEngine software and were always willing to go over things more as people had questions that they needed to ask.C.L.Hands on was good, I also really liked being able to ask questions about things have no documentation, or recommended ways of doing complex configuration.D.F.Training has helped me improve my troubleshooting skills of CFEngine3. I have understood some of the design goals and now clearly understand the syntax of CFEngine promises. ... Very personal approach to teaching. We are bored to death with power point slides. Most of the class was hands on.P.R.It was more in-depth and intensive than most of the vendor training things I've gone to, not a lot of starting late, leaving early, etc. Good attention to detail and making sure all points were understood.M.S.
Show less