Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learning to Automate

Nathen Harvey
February 02, 2013

Learning to Automate

The slides used during our discussion at FOSDEM about learning to automate.

Nathen Harvey

February 02, 2013

More Decks by Nathen Harvey

Other Decks in Technology


  1. IT Professional Happiness • Eliminate mundane and repetitive tasks •

    Reduce errors and incidents • Get to the Pub on time
  2. Evolving Towards Automation • Just make it work • Keep

    detailed notes in server.txt • Move detailed notes to a wiki • Write custom scripts • Store scripts in a version control system • not the dot-bak or dot-date kind • Snapshot and clone golden images • Roll your own automation framework
  3. Challenges for Educators • Snowflake infrastructure • Deployment options •

    Varying background • Motivations for automation • Rate of innovation
  4. Approach to Training - CFEngine • Introduction to concepts, theory,

    and language • Show many examples of what can be done • Lots of repetition and hands-on exercises • Building trust in the system
  5. Approach to Training - Puppet Labs • Fundamentals • Best

    Practices • Get up-and-running with Puppet • Finish with a capstone lab
  6. Approach to Training - Opscode • Concepts and terminology •

    Configure workstations • Demonstrate capabilities • Lots of hands on and repetition
  7. Training Infrastructure • CFEngine • VMs on student machines •

    Puppet • VMs on student and instructor machines • Chef • Hosted Chef & EC2 nodes • Linux containers in training lab
  8. Students • CFEngine • Experienced Sysadmins • Puppet • At

    least Jr. Sysadmin Level • Chef • Sysadmins • Application Developers
  9. Public vs. Private • Public • Generic • Student motivation

    is usually high • Private • More specific • Student motivation is more variable
  10. Common Objectives • Motivated to continue using the framework •

    Automate common system administration tasks • Locate additional resources for help • Know that there’s much more to learn
  11. Learning Foundation • Classroom training can provide a good foundation

    for learning • Basic understanding of concepts and terminology • Familiarity with tools and workflow • Knowledge of additional resources
  12. “Training”? Really?! • How many of you are using one

    of these three automation frameworks? • How many of you are using them to manage at least part of your production infrastructure? • How many of you attended “formal” training from one of the vendors?
  13. Learning • Most people have not been through formal training

    • Self-directed learning is the typical path to competency
  14. Champion • Experienced with configuration desperation • Start small with

    the basic tools of the framework • Leverage community assets • Layer in more advanced features
  15. Trust Fund Kid • Inherits an infrastructure already using automation

    framework • Struggles with the concepts • Solves a real problem and then things start to “click” • Lots of trial and error
  16. Learn from the Community • Leverage Design Center, Puppet Forge,

    Community site • Conferences, MeetUps, and Hack Days • Read documentation, wikis, and blog posts • Listen to podcasts
  17. Tools • Vagrant • Testing Frameworks • Make it easy

    for people to experiment • “hello world” • make it work • refactor
  18. Learning to Automate • Classroom training can provide a good

    foundation for learning • Experience pain, solve a real problem • Learn best practices from the community • Share experiences with the community
  19. Tips • How did YOU learn to automate? • What

    tips can you share? • Tell us your story