Jon Aykroyd Cloud Platform Automation
Email: jon.aykroyd@charter.com
@gmail.com
Twitter: @qubitrenegade
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)
Who are you?
 Manual Processes?
 Buzzwords?
 Source Control?
 Automated Processes?
 Formal Automation Tools?
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
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
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)
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
Questions?
 O RLY book generator: http://dev.to/rly

Devops journey chefpopup-2016.04.26-v2

  • 1.
    Jon Aykroyd CloudPlatform Automation Email: jon.aykroyd@charter.com @gmail.com Twitter: @qubitrenegade
  • 2.
    Introduction  Who AmI?  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?
  • 6.
    5 Stages ofDevOps 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: ClothingRetailer 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: ClothingRetailer 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  Eachteam 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
  • 10.
  • 11.
     O RLYbook generator: http://dev.to/rly

Editor's Notes

  • #4 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.
  • #5 Books commonly found around the office…
  • #6 Any of these on your shelf?
  • #7 Different groups starting to specialize Disparate groups starting to work together No more “This is MY cookbook”
  • #9 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