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 Creator of and ncf.io Co-organizer of events: 2 Normation – CC-BY-SA normation.com
Automated configuration rocks! Automated configuration rocks! Save time Improve reliability Deploy faster & be more Avoid manual errors, responsive to changes harmonize configurations Scalable Manage 1 to > 100000 servers the same way 3 Normation – CC-BY-SA normation.com
Automated configuration rocks! Automated The proper way configuration rocks! to manage systems Save time Improve reliability Deploy faster & be more Avoid manual errors, responsive to changes harmonize configurations Scalable Manage 1 to > 100000 servers the same way 4 Normation – CC-BY-SA normation.com
On automation and sharing “Typical” IT team Develop applications and deploy them, manage IT operations, security, etc etc etc ... 5 Normation – CC-BY-SA normation.com
On automation and sharing “Typical” IT team adopts CM A minority of the team will learn a tool and it's language. Let's call them “the experts”. 6 Normation – CC-BY-SA normation.com
On automation and sharing What about the others? Changes, deployments, new features... all end up requiring <your chosen CM tool>, therefore the “experts”. 7 Normation – CC-BY-SA normation.com
On automation and sharing What about the others? ? ? ? ? They have a choice: learn or get left behind. 8 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? 9 Normation – CC-BY-SA normation.com
On automation and sharing What are we asking users to do? BEFORE ssh box.company.com rpm -i software .rpm vi /etc/ software .conf service software restart AFTER (or similar!) and more, and git/svn, etc... 10 Normation – CC-BY-SA normation.com
Getting everyone on board? Getting everyone on board for infrastructure as code is hard Steep learning curve Lack of motivation New concepts, non obvious “What do I have to gain syntaxes, paradigm, ... from using this tool?” Frustration “I can do it quicker by hand or with a shell script” 11 Normation – CC-BY-SA normation.com
Or as XKCD puts it... 12 Normation – CC-BY-SA normation.com Illustration CC BY-NC 2.5 from http://xkcd.com
Example of getting non-experts to use complex stuff 13 Normation – CC-BY-SA normation.com Photo CC BY-NC-SA 2.0 from https://www.flickr.com/photos/albaum/
Getting everyone on board? Let's make it easier for everyone to use CM! Steep learning curve Lack of motivation New concepts, non obvious “What do I have to gain syntaxes, paradigm, ... from using this tool?” → Provide simpler interfaces! → Show the benefits! Frustration “I can do it quicker by hand or with a shell script” → Enable quick wins! 14 Normation – CC-BY-SA normation.com
Approach Steep learning curve New concepts, non obvious syntaxes, paradigm, ... 1) Separate content and controls 2) Provide access to key parameters without hacking {CFEngine,Puppet,Chef,etc} code 15 Normation – CC-BY-SA normation.com
Approach Lack of motivation “What do I have to gain from using this tool?” 1) Show the benefits to all users 2) Provide nice reports showing what works, how many machines are impacted 16 Normation – CC-BY-SA normation.com
Approach Frustration “I can do it quicker by hand or with a shell script” 1) Make it easy and quick to achieve success 2) Provide ready-to-use configuration techniques and share in-house ones simply 17 Normation – CC-BY-SA normation.com
What should it look like? Idea for IT team and CM stack Define Analyse Decision level goals reports Consolidation layer Use available Focus on Main IT level methods task at hand Abstraction layer Fine tune Manage Expert level modules stack 18 Normation – CC-BY-SA normation.com
What should it look like? Idea for IT team and CM stack Define Analyse Decision level goals reports Consolidation layer Use available Focus on Main IT level methods task at hand Abstraction layer Stuff we're good at Fine tune Manage Expert level modules stack 19 Normation – CC-BY-SA normation.com
What should it look like? Idea for IT team and CM stack Define Analyse Decision level goals reports Stuff we don't talk about a lot Consolidation layer Use available Focus on Main IT level methods task at hand Abstraction layer Stuff we're good at Fine tune Manage Expert level modules stack 20 Normation – CC-BY-SA normation.com
An example An example based on ncf and Rudder ncf.io www.rudder.cm Open source - GPLv3 21 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. 22 Normation – CC-BY-SA normation.com
What should it look like? Idea for IT team and CM stack Define Analyse Decision level goals reports Consolidation layer Use available Focus on Main IT level methods task at hand ncf Abstraction layer Fine tune Manage Expert level modules stack 23 Normation – CC-BY-SA normation.com
ncf: A layered approach A layered approach Unit tasks: “Copy file”, “Install package”, … Generic methods Implement the “how” 24 Normation – CC-BY-SA normation.com
ncf: A layered approach A layered approach Use the provided methods, keep focus Techniques Supply “data” Unit tasks: “Copy file”, “Install package”, … Generic methods Implement the “how” 25 Normation – CC-BY-SA normation.com
ncf: A layered approach A layered approach Get an overview Services Benefit from CM Use the provided methods, keep focus Techniques Supply “data” Unit tasks: “Copy file”, Generic methods “Install package”, … Implement the “how” 26 Normation – CC-BY-SA normation.com
What is ncf? Example === 1000 words With ncf: 27 Normation – CC-BY-SA normation.com
An even nicer interface Simple web interface – ncf builder 28 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 . 29 Normation – CC-BY-SA normation.com
Overview Simplified configuration 30 Normation – CC-BY-SA normation.com
Overview Built-in reporting 31 Normation – CC-BY-SA normation.com
Overview Built-in reporting 32 Normation – CC-BY-SA normation.com
Overview Dashboard overview 33 Normation – CC-BY-SA normation.com
What should it look like? Idea for IT team and CM stack R Define Analyse u Decision level goals reports d Consolidation layer d Use available Focus on e Main IT level methods task at hand r ncf Abstraction layer Fine tune Manage Expert level modules stack 34 Normation – CC-BY-SA normation.com
On automation and sharing Next IT team? 35 Normation – CC-BY-SA normation.com
Questions? Check it out on: Check it out on: http://www.ncf.io/ http://rudder.cm/ Jonathan CLARKE – jcl@normation.com @jooooooon42 (that's 7 'o's) Normation – CC-BY-SA normation.com
Recommend
More recommend