Top Banner
Improving in production Puppet code Without breaking too much 1
30

Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Jul 14, 2015

Download

Software

Puppet Labs
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Improving in production Puppet code

Without breaking too much

1

Page 2: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

About the guy on stageMade by trial and error

2

Page 3: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Quick overview● Basics● Code Strength● Deployment Strength● Documentation

3

Page 4: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Introduction

Source - Abstruse Goose - http://abstrusegoose.com/432

4

Page 5: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Basics

5

Page 6: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Be there

6

This might require a bit of handholding

Page 7: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

No starting from scratchIt’s a road to beautiful failure

7

Page 8: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Create a plan

8

Knowing the path and walking the path

Page 9: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Create a planGTD Plan1. Why?2. When?3. What?4. Plan5. Do!6. …7. Profit!

9

Page 10: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

AgileHow to trap management

10

Page 11: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Code Strength

11

Page 12: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Peer Review

12

Show me yours and I’ll show you mine

Page 13: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Spec TestsShiny armor has never seen war

13

Page 14: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Example Spec Test

14

Page 15: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Roles / ProfilesAdd stuff while staying sane

15

Page 16: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Roles / Profiles

16

roles::wordpress_standalone profile::base

profile::mysql

profile::wordpress

profile::nginx

Page 17: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Roles / Profiles

17

profile::nginx

hiera

puppetlabs/nginx

enc

Page 18: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Small blocksDo one thing, do it well

18

Page 19: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Separate Shared ModulesCan’t clean a room when your friends are

still in it

19

Page 20: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Deployment Strength

20

Page 21: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Auto BuildingThese pieces, they should fit, I think...

21

Page 22: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Auto TestingDon’t worry, i’m just doing a few tests.

22

Page 23: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Auto DeploymentGo fast, die young!

23

Page 24: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Documentation

24

404

Page 25: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Do I need documentation?

Just enough

25

Page 26: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Any other reasons?

26

Page 27: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Where to put documentation?

27

Close to the source

Page 28: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Important LinksFor review, not on presentation screen

Building a Functional Puppet Workflow Part 2: Roles and Profiles - http://s.basg.nl/1A6heKZ

Peer review - Gerrit - https://code.google.com/p/gerrit/Spec Testing - http://rspec-puppet.com/tutorial/Spec Helper - https://github.com/puppetlabs/puppetlabs_spec_helper Dashboards - Foreman - http://theforeman.org/

28

Page 29: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Presentation is onlinehttp://s.basg.nl/puppetcode

You can find me on Google+http://google.com/+basgrolleman

Questions

29

Page 30: Puppet Camp Amsterdam 2015: Improving In Production Puppet Code Without Breaking Too Much

Questions?

30