Ignite talk that I gave at devopsdays Ghent 2014. devops is about automation and sharing (amongst others) but when we automate IT, often only a minority of the team lead the effort, leaving others behind. Is that good sharing? Could we not do better?
08448380779 Call Girls In Friends Colony Women Seeking Men
Sharing automation - why we need a language like ncf for this (Ignite @ devopsdays Belgium 2014)
1. Normation – CC-BY-SA
normation.com
ncf
A language for configuration management
- and why we need one!
Jonathan CLARKE – jcl@normation.com
@jooooooon42 (that's 7 'o's)
2. Normation – CC-BY-SA
normation.com 2
ncf
www.ncf.io
Who am I?
Jonathan Clarke
Origins: Sysadmin, infrastructure management
Work at
Creator of and ncf.io
Co-organizer of events:
We're a sponsor!
Come and say hi :)
3. Normation – CC-BY-SA
normation.com 3
ncf
www.ncf.io
Why ncf?
What is ncf? Not so fast...
Let's start with why ncf.
devops
CULTURE AUTOMATION
MEASURE SHARING
Configuration Management
(CM) in this case
4. Normation – CC-BY-SA
normation.com 4
ncf
www.ncf.io
Develop an application and deploy it,
manage IT operations, security, etc etc etc ...
On automation and sharing
“Typical” IT team
5. Normation – CC-BY-SA
normation.com 5
ncf
www.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
6. Normation – CC-BY-SA
normation.com 6
ncf
www.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?
7. Normation – CC-BY-SA
normation.com 7
ncf
www.ncf.io
They have a choice: learn or get left behind.
On automation and sharing
What about the others?
? ? ??
8. Normation – CC-BY-SA
normation.com 8
ncf
www.ncf.io
On automation and sharing
Does this look like good sharing?
? ? ??
We must be able to do better.
9. Normation – CC-BY-SA
normation.com 9
ncf
www.ncf.io
Getting everyone on board?
Getting everyone
on board for CM 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?”
10. Normation – CC-BY-SA
normation.com 10
ncf
www.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 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!
11. Normation – CC-BY-SA
normation.com 11
ncf
www.ncf.io
What should it look like?
Ideal IT team and CM stack
Abstraction layer
Manager level
Expert level
Define
goals
Analyse
reports
Fine tune
modules
Manage
stack
Consolidation layer
Use available
methods
Focus on
task at hand
12. Normation – CC-BY-SA
normation.com 12
ncf
www.ncf.io
What should it look like?
Ideal IT team and CM stack
Abstraction layer
Manager level
Expert level
Define
goals
Analyse
reports
Fine tune
modules
Manage
stack
Consolidation layer
Use available
methods
Focus on
task at hand
ncf
13. Normation – CC-BY-SA
normation.com 13
ncf
www.ncf.io
What is ncf?
We created 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.
15. Normation – CC-BY-SA
normation.com 15
ncf
www.ncf.io
A layered approach
A layered approach
Generic methods
Unit tasks: “Copy file”,
“Install package”, …
Implement the “how”
16. Normation – CC-BY-SA
normation.com 16
ncf
www.ncf.io
A layered approach
A layered approach
Techniques
Use the provided
methods, keep focus
Generic methods
Unit tasks: “Copy file”,
“Install package”, …
Implement the “how”
17. Normation – CC-BY-SA
normation.com 17
ncf
www.ncf.io
A layered approach
A layered approach
Generic methods
Services
Get an overview
Benefit from CM
Techniques
Use the provided
methods, keep focus
Unit tasks: “Copy file”,
“Install package”, …
Implement the “how”
18. Normation – CC-BY-SA
normation.com 18
ncf
www.ncf.io
Each generic_method does
one thing and one thing only
Philosophy
Core principles
Objective not subjective
KISSDRY
ExtensibleOpen source