Top Banner
Normation – CC-BY-SA normation.com ncf A language for configuration management - and why we need one! Jonathan CLARKE – [email protected] @jooooooon42 (that's 7 'o's)
20

Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Aug 20, 2015

Download

Technology

Jonathan Clarke
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: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com

ncf

A language for configuration management - and why we need one!

Jonathan CLARKE – [email protected]@jooooooon42 (that's 7 'o's)

Page 2: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 2

ncfwww.ncf.io

Who am I?

Jonathan ClarkeOrigins: Sysadmin, infrastructure management

Work at

Creator of and ncf.io

Co-organizer of events:

We're a sponsor!Come and say hi :)

Page 3: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 3

ncfwww.ncf.io

Why ncf?

What is ncf? Not so fast...

Let's start with why ncf.

devopsCULTURE AUTOMATION

MEASURE SHARING

Configuration Management (CM) in this case

Page 4: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 4

ncfwww.ncf.io

Develop an application and deploy it,manage IT operations, security, etc etc etc ...

On automation and sharing

“Typical” IT team

Page 5: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 5

ncfwww.ncf.io

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

Page 6: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 6

ncfwww.ncf.io

Changes, deployments, new features...all end up requiring <your chosen CM tool>,

therefore the “experts”.

On automation and sharing

What about the others?

Page 7: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 7

ncfwww.ncf.io

They have a choice: learn or get left behind.

On automation and sharing

What about the others?

? ? ??

Page 8: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 8

ncfwww.ncf.io

On automation and sharing

Does this look like good sharing?

? ? ??

We must be able to do better.

Page 9: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 9

ncfwww.ncf.io

Getting everyone on board?

Getting everyoneon board for CM is hard

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

Steep learning curveNew concepts, non obvious syntaxes, paradigm, ...

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

Page 10: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 10

ncfwww.ncf.io

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 curveNew 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!

Page 11: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 11

ncfwww.ncf.io

What should it look like?

Ideal IT team and CM stack

Abstraction layer

Manager level

Expert level

Definegoals

Analysereports

Fine tunemodules

Managestack

Consolidation layer

Use availablemethods

Focus ontask at hand

Page 12: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 12

ncfwww.ncf.io

What should it look like?

Ideal IT team and CM stack

Abstraction layer

Manager level

Expert level

Definegoals

Analysereports

Fine tunemodules

Managestack

Consolidation layer

Use availablemethods

Focus ontask at hand

ncf

Page 13: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 13

ncfwww.ncf.io

What is ncf?

We created ncf

ncf is a frameworkthat runs in pure CFEngine language,to help structure CFEngine policy and

provide reusable, single purpose components distributed under the GPLv3 license.

Page 14: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 14

ncfwww.ncf.io

What is ncf?

Example === 1000 words

With ncf:

Page 15: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 15

ncfwww.ncf.io

A layered approach

A layered approach

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

Page 16: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 16

ncfwww.ncf.io

A layered approach

A layered approach

TechniquesUse the providedmethods, keep focus

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

Page 17: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 17

ncfwww.ncf.io

A layered approach

A layered approach

Generic methods

ServicesGet an overviewBenefit from CM

TechniquesUse the providedmethods, keep focus

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

Page 18: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 18

ncfwww.ncf.io

Each generic_method does one thing and one thing only

Philosophy

Core principles

Objective not subjective

KISSDRY

ExtensibleOpen source

Page 19: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com 19

ncfwww.ncf.io

An even nicer interface

Simple web interface – ncf builder

Page 20: Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)

Normation – CC-BY-SAnormation.com

Questions?

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

Jonathan CLARKE – [email protected]@jooooooon42 (that's 7 'o's)

Come chat with us on our table!