Interfacing infrastructure as code with non-expert users Jonathan - - PowerPoint PPT Presentation

interfacing infrastructure as code with non expert users
SMART_READER_LITE
LIVE PREVIEW

Interfacing infrastructure as code with non-expert users Jonathan - - PowerPoint PPT Presentation

Interfacing infrastructure as code with non-expert users Jonathan CLARKE jcl@normation.com @jooooooon42 (that's 7 'o's) Normation CC-BY-SA normation.com Who am I? Jonathan Clarke Origins: Sysadmin, infrastructure management Work at


slide-1
SLIDE 1

Normation – CC-BY-SA normation.com

Interfacing infrastructure as code with non-expert users

Jonathan CLARKE – jcl@normation.com @jooooooon42 (that's 7 'o's)

slide-2
SLIDE 2

2

Normation – CC-BY-SA normation.com

Who am I?

Jonathan Clarke

Origins: Sysadmin, infrastructure management Work at Creator of and ncf.io Co-organizer of events:

slide-3
SLIDE 3

3

Normation – CC-BY-SA normation.com

Automated configuration rocks!

Automated configuration rocks!

Scalable Manage 1 to > 100000 servers the same way Save time Deploy faster & be more responsive to changes Improve reliability Avoid manual errors, harmonize configurations

slide-4
SLIDE 4

4

Normation – CC-BY-SA normation.com

Automated configuration rocks!

Automated configuration rocks!

Scalable Manage 1 to > 100000 servers the same way Save time Deploy faster & be more responsive to changes Improve reliability Avoid manual errors, harmonize configurations

The proper way to manage systems

slide-5
SLIDE 5

5

Normation – CC-BY-SA normation.com

Develop applications and deploy them, manage IT operations, security, etc etc etc ...

On automation and sharing

“Typical” IT team

slide-6
SLIDE 6

6

Normation – CC-BY-SA normation.com

A minority of the team will learn a tool and it's

  • language. Let's call them “the experts”.

On automation and sharing

“Typical” IT team adopts CM

slide-7
SLIDE 7

7

Normation – CC-BY-SA normation.com

Changes, deployments, new features... all end up requiring <your chosen CM tool>, therefore the “experts”.

On automation and sharing

What about the others?

slide-8
SLIDE 8

8

Normation – CC-BY-SA normation.com

They have a choice: learn or get left behind.

On automation and sharing

What about the others?

? ? ? ?

slide-9
SLIDE 9

9

Normation – CC-BY-SA normation.com

On automation and sharing

Does this look good?

? ? ? ?

Are we actually standing in the way of automated configuration by pushing ahead?

slide-10
SLIDE 10

10

Normation – CC-BY-SA normation.com

On automation and sharing

What are we asking users to do?

ssh box.company.com rpm -i software.rpm vi /etc/software.conf service software restart

BEFORE AFTER (or similar!) and more, and git/svn, etc...

slide-11
SLIDE 11

11

Normation – CC-BY-SA normation.com

Getting everyone on board?

Getting everyone on board for infrastructure as code is hard

Frustration “I can do it quicker by hand or with a shell script” Steep learning curve New concepts, non obvious syntaxes, paradigm, ... Lack of motivation “What do I have to gain from using this tool?”

slide-12
SLIDE 12

12

Normation – CC-BY-SA normation.com

Or as XKCD puts it...

Illustration CC BY-NC 2.5 from http://xkcd.com

slide-13
SLIDE 13

13

Normation – CC-BY-SA normation.com

Example of getting non-experts to use complex stuff

Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/albaum/

slide-14
SLIDE 14

14

Normation – CC-BY-SA normation.com

Getting everyone on board?

Let's make it easier for everyone to use CM!

Frustration “I can do it quicker by hand or with a shell script” Steep learning curve New concepts, non obvious syntaxes, paradigm, ... Lack of motivation “What do I have to gain from using this tool?”

→ Provide simpler interfaces! → Show the benefits! → Enable quick wins!

slide-15
SLIDE 15

15

Normation – CC-BY-SA normation.com

Steep learning curve New concepts, non obvious syntaxes, paradigm, ...

Approach

1) Separate content and controls 2) Provide access to key parameters without hacking {CFEngine,Puppet,Chef,etc} code

slide-16
SLIDE 16

16

Normation – CC-BY-SA normation.com

Lack of motivation “What do I have to gain from using this tool?”

Approach

1) Show the benefits to all users 2) Provide nice reports showing what works, how many machines are impacted

slide-17
SLIDE 17

17

Normation – CC-BY-SA normation.com

Frustration “I can do it quicker by hand or with a shell script”

Approach

1) Make it easy and quick to achieve success 2) Provide ready-to-use configuration techniques and share in-house ones simply

slide-18
SLIDE 18

18

Normation – CC-BY-SA normation.com

What should it look like?

Idea for IT team and CM stack

Abstraction layer Decision level Expert level

Define goals Analyse reports Fine tune modules Manage stack

Consolidation layer

Use available methods Focus on task at hand

Main IT level

slide-19
SLIDE 19

19

Normation – CC-BY-SA normation.com

What should it look like?

Idea for IT team and CM stack

Abstraction layer Decision level Expert level

Define goals Analyse reports Fine tune modules Manage stack

Consolidation layer

Use available methods Focus on task at hand

Main IT level

Stuff we're good at

slide-20
SLIDE 20

20

Normation – CC-BY-SA normation.com

What should it look like?

Idea for IT team and CM stack

Abstraction layer Decision level Expert level

Define goals Analyse reports Fine tune modules Manage stack

Consolidation layer

Use available methods Focus on task at hand

Main IT level

Stuff we don't talk about a lot Stuff we're good at

slide-21
SLIDE 21

21

Normation – CC-BY-SA normation.com

An example

An example based on ncf and Rudder ncf.io

www.rudder.cm

Open source - GPLv3

slide-22
SLIDE 22

22

Normation – CC-BY-SA normation.com

What is ncf?

ncf

ncf is a framework that runs in pure CFEngine language, to help structure CFEngine policy and provide reusable, single purpose components distributed under the GPLv3 license.

slide-23
SLIDE 23

23

Normation – CC-BY-SA normation.com

What should it look like?

Idea for IT team and CM stack

Abstraction layer Expert level

Define goals Analyse reports Fine tune modules Manage stack

Consolidation layer

Use available methods Focus on task at hand

Decision level Main IT level

ncf

slide-24
SLIDE 24

24

Normation – CC-BY-SA normation.com

ncf: A layered approach

A layered approach

Generic methods

Unit tasks: “Copy file”, “Install package”, … Implement the “how”

slide-25
SLIDE 25

25

Normation – CC-BY-SA normation.com

ncf: A layered approach

A layered approach

Techniques

Use the provided methods, keep focus Supply “data”

Generic methods

Unit tasks: “Copy file”, “Install package”, … Implement the “how”

slide-26
SLIDE 26

26

Normation – CC-BY-SA normation.com

ncf: A layered approach

A layered approach

Generic methods Services

Get an overview Benefit from CM

Techniques

Use the provided methods, keep focus Supply “data” Unit tasks: “Copy file”, “Install package”, … Implement the “how”

slide-27
SLIDE 27

27

Normation – CC-BY-SA normation.com

What is ncf?

Example === 1000 words

With ncf:

slide-28
SLIDE 28

28

Normation – CC-BY-SA normation.com

An even nicer interface

Simple web interface – ncf builder

slide-29
SLIDE 29

29

Normation – CC-BY-SA normation.com

Rudder

Rudder

Rudder sets up an environment with sane defaults to automate configuration, building on ncf methods without any code and including automatic feedback.

slide-30
SLIDE 30

30

Normation – CC-BY-SA normation.com

Overview

Simplified configuration

slide-31
SLIDE 31

31

Normation – CC-BY-SA normation.com

Overview

Built-in reporting

slide-32
SLIDE 32

32

Normation – CC-BY-SA normation.com

Overview

Built-in reporting

slide-33
SLIDE 33

33

Normation – CC-BY-SA normation.com

Overview

Dashboard overview

slide-34
SLIDE 34

34

Normation – CC-BY-SA normation.com

What should it look like?

Idea for IT team and CM stack

Abstraction layer Expert level

Define goals Analyse reports Fine tune modules Manage stack

Consolidation layer

Use available methods Focus on task at hand

ncf

Decision level Main IT level

R u d d e r

slide-35
SLIDE 35

35

Normation – CC-BY-SA normation.com

On automation and sharing

Next IT team?

slide-36
SLIDE 36

Normation – CC-BY-SA normation.com

Questions?

Check it out on: http://www.ncf.io/

Jonathan CLARKE – jcl@normation.com @jooooooon42 (that's 7 'o's)

Check it out on: http://rudder.cm/