O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Beyond Automation with CFEngine 3

Video Description

Learn how to go beyond classical automation with CFEngine 3, one of the most established configuration management systems available. In this video tutorial, host and CFEngine creator Mark Burgess takes you on a tour of discovery from basic automation concepts to more complex examples, such as implementing distributed orchestration.


Along the way, sysadmins, developers, and distributed system architects will learn the theory behind configuration management, executable documentation, and self-healing systems through many exercises and hands-on examples. You’ll also discover how to apply CFEngine to a variety of systems.


  • Dive into the basics of automation: the brain model vs the society model
  • Explore CFEngine 3 components, including promises and agents
  • Understand the three roles for using CFEngine
  • Take the first steps towards becoming a system designer
  • Learn how to tell your story with promises, the basis of orchestration

  • Mark Burgess, researcher and writer at Oslo University College in Norway and inventor of CFEngine, is a leading voice in the field of infrastructure automation.

    Table of Contents

    1. Beyond Automation with CFEngine 3 Course Introduction 00:00:39
    2. Chapter 1: What is Automation?
      1. Introduction to Automation and Beyond 00:03:15
      2. The Promises of Automation 00:01:46
      3. Coding Interlude 1 (Creating Files and Running Commands with Executable Documentation) 00:03:23
      4. Coding Interlude 2 (Editing Files - an Example of Convergence and Idempotence) 00:02:13
      5. Safe Automation with Imperfect Tools - Documenting Workarounds 00:04:22
      6. Mapping Your Architecture in Terms of Patterns 00:01:32
      7. Two Kinds of Processes: Chain Reactions, Convergence to a Target (Predictability) 00:01:27
      8. Maximize Stability with Promises 00:01:08
    3. Chapter 2: What is CFEngine?
      1. Introduction to CFEngine 00:08:28
      2. Be a Town Planner; Not a Bricklayer 00:01:58
      3. Don't Be the Machine Yourself, Design Machinery that Is Hands-Free! 00:04:14
      4. Configuration: Style Sheets for Your Servers 00:03:27
      5. Code Interlude 3 (Message of the Day) 00:07:20
      6. Code Interlude 4 (Policy in an Access Control Paradigm) 00:06:01
      7. Using the CFEngine Dashboard to See Promises Kept 00:02:48
    4. Chapter 3: The Components of CFEngine
      1. Introduction to CFEngine Components: Configuration from Within 00:08:10
      2. Three Ways to Go Beyond Automation with CFEngine 3 00:02:58
      3. Coding Interlude 5 (Building a Kindle Book) 00:09:47
      4. Business Use Cases for CFEngine's Executable Documentation 00:05:08
    5. Chapter 4: First Words and Patterns
      1. CFEngine 3 Syntax 00:10:39
      2. Coding Interlude 6 (Associative Arrays) 00:05:30
      3. Using Body Attributes, Templates, and Bundles 00:07:09
    6. Chapter 5: Think Like a Human, Think Like a Machine
      1. Telling a System Story Through Executable Documentation 00:06:18
    7. Chapter 6: How To Tell Your Story with Promises
      1. Introduction to Orchestration 00:01:48
      2. Coding Interlude 7 (Environmental Discovery and Classes for Orchestration) 00:02:14
      3. Coding Interlude 8 (Docker Orchestration) 00:13:37
      4. Conclusion 00:05:24