2. Introduction
Who Am I?
Automation Engineer –
Focus on Linux
10+ Years Linux SA Experience
10+ Years “Automation” Experience
Why Am I here?
2nd journey down this path
Big proponent of DevOps philosophies
Danielle and Jeremy asked me nicely
(these guys do great work and they don’t get thanked nearly enough)
3. Who are you?
Manual Processes?
Buzzwords?
Source Control?
Automated Processes?
Formal Automation Tools?
4.
5.
6. 5 Stages of DevOps Transition
What’s
DevOps?
We need that
buzzword!
Our DevOps is
different!
Maybe our
DevOps isn’t
so different…
DevOps at
velocity
• Collection of
unorganized
scripts
• Sometimes in
revision control
• Lots of manual
processes
• LONG TTD
• Many silos
within an
organization
• Initial
implementation
of DevOps tool
• Lots of different
groups inventing
same wheel
• Hopefully some
source control…
• What’s testing?
• What’s a style
guide?
• Creation of
DevOps group
and / or titles
• Many different
groups writing
cookbooks
• Cookbooks
trying to be “all
encompassing”
• Groups
embracing the
importance of
source control
• Beginning to see
automated local
testing
• Emergence of
[manual]
formalized
testing
• Dissolution of
DevOps group
• Different groups
starting to
specialize
• Disparate groups
starting to work
together
• Review process
• Fully embracing
localized testing
• Beginning to see
automated
integration
testing.
• Emergence of
“gated” CI/CD
• Company-wide
acceptance of
DevOps:
Accounting to
Engineering
• Truly embracing
CI/CD
• Fully automated
testing, top to
bottom
• Unified coding
style
7. Case Study: Clothing Retailer
Before Chef
30-40 VM Requests / week
TTD: 2 weeks from approval
Able to deliver ~30 VMs/week (problem?)
Process largely manual, from setting NTP, DNS, to
joining domain. 30 steps total after deploying VM in
vSphere
8. Case Study: Clothing Retailer
After Chef
30-40 VM Requests / week
TTD: 2 hours from approval
Most of the manual steps had been partially / wholly
automated with Chef anyway…
Just tied it all together
Process became:
Deploy VM in vSphere
knife bootstrap nodename --environment prod
--run-list “recipe[our_base]”
Hand off to customer (i.e.: requestor)
9. Our Start
Each team using something different (Puppet, Ansible,
Salt)
Chef came on site for four days
2d training
2d writing cookbooks for our environment
Took internal deployment application
100% BASH, works well but fragile
Wrote cookbooks to replace BASH framework
Initial BASH tool took over a month to develop (and still not
100% bug free)
Able to replicate 80% of functionality in Chef in the 2d
Ask if anyone has “piles of scripts”
Ask if anyone is using source control
Ask if anyone is using “Formal” DevOps tools: Chef, Puppet, etc.
Books commonly found around the office…
Any of these on your shelf?
Different groups starting to specialize
Disparate groups starting to work together
No more “This is MY cookbook”
TTD: 2hrs is actual hands on keyboards, sometimes techs working on other tickets
Not 100% automated, but
Base cookbook wrapped up all other cookbooks.
Can be modified at run time with environment variables, e.g. different DNS servers for Prod, Test, or Dev