sharing automation - why we need a language like ncf for this (ignite @ devopsdays belgium 2014)

20
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)

Upload: jonathan-clarke

Post on 20-Aug-2015

399 views

Category:

Technology


1 download

TRANSCRIPT

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)

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 :)

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

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

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

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?

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?

? ? ??

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.

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

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!

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

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

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.

Normation – CC-BY-SAnormation.com 14

ncfwww.ncf.io

What is ncf?

Example === 1000 words

With ncf:

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”

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”

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”

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

Normation – CC-BY-SAnormation.com 19

ncfwww.ncf.io

An even nicer interface

Simple web interface – ncf builder

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!