Slide 1

Slide 1 text

Learning to Automate Nathen Harvey @nathenharvey FOSDEM 2013

Slide 2

Slide 2 text

Hello! • Technical Community Manager, Opscode • Co-host of the Food Fight Show Podcast

Slide 3

Slide 3 text

Learning to Automate • Automation • Formal Training • Learning Experiences • Tips

Slide 4

Slide 4 text

Why Automate? • Deliver value to customers and stakeholders • Make IT Professionals happy

Slide 5

Slide 5 text

Business Drivers • Scale-out • Continuous Delivery • Compliance

Slide 6

Slide 6 text

IT Professional Happiness • Eliminate mundane and repetitive tasks • Reduce errors and incidents • Get to the Pub on time

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

Automation Framework • Open-source • Corporate and community backed • Skills in the marketplace

Slide 9

Slide 9 text

Learning Curve • New terminology • New programming language • Think about infrastructure in new ways

Slide 10

Slide 10 text

Challenges for Educators • Snowflake infrastructure • Deployment options • Varying background • Motivations for automation • Rate of innovation

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Approach to Training - Puppet Labs • Fundamentals • Best Practices • Get up-and-running with Puppet • Finish with a capstone lab

Slide 13

Slide 13 text

Approach to Training - Opscode • Concepts and terminology • Configure workstations • Demonstrate capabilities • Lots of hands on and repetition

Slide 14

Slide 14 text

Training Infrastructure • CFEngine • VMs on student machines • Puppet • VMs on student and instructor machines • Chef • Hosted Chef & EC2 nodes • Linux containers in training lab

Slide 15

Slide 15 text

Students • CFEngine • Experienced Sysadmins • Puppet • At least Jr. Sysadmin Level • Chef • Sysadmins • Application Developers

Slide 16

Slide 16 text

Public vs. Private • Public • Generic • Student motivation is usually high • Private • More specific • Student motivation is more variable

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

The Afterclass • Documentation • On-line resources • “Office Hours”

Slide 20

Slide 20 text

“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?

Slide 21

Slide 21 text

Learning • Most people have not been through formal training • Self-directed learning is the typical path to competency

Slide 22

Slide 22 text

Tale of 3 Automators • Champion • Trust Fund Kid • Developer-to-Operations

Slide 23

Slide 23 text

Champion • Experienced with configuration desperation • Start small with the basic tools of the framework • Leverage community assets • Layer in more advanced features

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Developer-to-Operations • Looking for best practices and operations tribal knowledge • Dig into source code • Follow existing patterns

Slide 26

Slide 26 text

Improve the Learning Experience • So, how do we improve the learning experience?

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

Share with the Community • Share your experiences • Publish content and code • Mentor someone

Slide 29

Slide 29 text

Tools • Vagrant • Testing Frameworks • Make it easy for people to experiment • “hello world” • make it work • refactor

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

Tips • How did YOU learn to automate? • What tips can you share? • Tell us your story

Slide 32

Slide 32 text

Thank You • Diego Zamboni, CFEngine • Geir Nygård, CFEngine • Ralph Luchs, PuppetLabs

Slide 33

Slide 33 text

Thank You! Nathen Harvey @nathenharvey FOSDEM 2013