Milwaukee DevOps Meetup

December 5, 2012
“We are at our most productive when we share our thinking.
One night of crazy brain-storming over a few beers is more
likely to produce more exciting results than 20 years’
solitary study in the lab.”
–Professor Howard Trevor Jacobs, Descartes Prize Winner




                         Read more at redmonk.com - http://goo.gl/FEJyI
                http://redmonk.com/jgovernor/2004/12/15/the-pub-is-the-place-for-creativity-and-innovation/
Who am I?


Solution Engineer and Evangelist
My agenda
   Bootstrap Meetups
   Learn more
   Share experiences with people from diverse backgrounds
Introductions …
   ~ 1m round the room brief intro, don’t be too shy 
“Rules of Engagement”




3 Rules of DevOps Meetup
“Rules of Engagement”




1 st
   Rule:
Talk about DevOps
Meetup
“Rules of Engagement”




Collaboration
      &
 Community
“Rules of Engagement”




2 nd
   Rule:
TALK about
DevOps Meetup
“Rules of Engagement”




3 rd
   Rule:
No Assholes
“Rules of Engagement”




Collaborate and debate
     NO disrespect
“Rules of Engagement”




DevOps = Community
Logistics

• Topic coverage? topic focus?
 • Lightning talks, 4-5, 5-10m each
 • Unmeeting – Larger group
 • Presentations – Intro & Advanced
 • Demo & Tutorial
 • Case studies and experience sharing.
• Monthly? Bi-monthly? Quarterly?
“Infrastructure As Code” 101
Infrastructure is Complex
Items of Manipulation
                                          (resources)

• Nodes         • Routes
• Networking    • Users
• Files         • Groups
• Directories   • Packages
• Symlinks      • Services
• Mounts        • Filesystems
See Node



Application
See Nodes



Application


Application Database
See Nodes Grow



Application


App Databases
See Nodes Grow



App Servers


App Databases
See Nodes Grow



App LB


         App Servers


App Databases
See Nodes Grow



App LBs


                App Servers


App Databases
See Nodes Grow


App LBs

               App Servers


App DB Cache


App DBs
Infrastructures have topology


        App LBs

                      App Servers


       App DB Cache


       App DBs
Your's is a snowflake

   Round Robin
   DNS

                 App Servers


  App DB Cache

Floating IP?

   App DBs
Complexity increases quickly



           App LBs
                 Cache

                     App Servers
NoSQL            DB Cache
                 DB slaves

           DBs
It increases globally...
      EUR


USA
                         AUS
Traditional Thinking Won’t Make the Grade …



               Before discussing the future,

               Let’s review the past.

               More importantly why
               “traditional” enterprise
               technologies will not cut it.
Unprecedented Growth AND Complexity …


                                         Scale x Complexity > Skills
                                                                                      Inflection point forces
                                                                                            disruption.




                   1980                              1990                             2000                              2010+
                 Mainframe                       Client/Server                      Datacenter                            Cloud




1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
Inflection Point Inspires …

    Mainframe                                           Client/Server                              Datacenter


                                                                                                                                                                   Cloudy
Traditional, data
Traditional, doma
  model driven
 in model driven                                                                     “Infrastructure As
   applications.                                                                           Code”
    Millions




               120


               100


                80


                60


                40


                20


                -
                     1990   1991   1992   1993   1994    1995   1996   1997   1998   1999   2000   2001   2002   2003   2004   2005   2006   2007   2008   2009   2010   2011   2012   2013   2014   2015


                                                                       Physcial Hardware                                Virtual Nodes
How can this be abstracted AND represented?
                 EUR


USA
                                    AUS
Maturity of “Infrastructure As Code”




1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
“In God we Trust, all others bring DATA!!!”




     VS

             http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html
“Infrastructure As Code” Mantra

“Infrastructure As Code” …         The business, not just a tool



     Enable the reconstruction of the business from
      nothing but a configuration repository, an
     application data backup, and bare resources.

                                 As rapidly and
                             elegantly as possible.
“Infrastructure As Code”



• A configuration management system (DSL)
• A library for configuration management
• A community, contributing to library and expertise
• A systems integration platform (API)


                                             http://www.flickr.com/photos/asten/2159525309/sizes/l/
Some Samples
package { "apache2":
      ensure => latest
}

service { "apache2":
    ensure => running,
    require => Package["apache2"],
    subscribe => File[httpdconf],
}
Some Samples
package "apache2" do
 package_name node[:apache][:package]
 action :install
end

template "/etc/www/configures-apache.conf" do
 notifies :restart, "service[apache2]”
end

service “apache2”
The players




                    Dev                              &   Ops
Metaphor Attribution – Andrew Shafer, now of Rackspace
Meet Dev


                                                   • Little bit weird
                                                   • Sits closer to the boss
                                                   • Thinks too hard


                                                         Don’t hate the
                                                           player …



Metaphor Attribution – Andrew Shafer, now of Rackspace
Meet Ops


                                                   • Pulls levers & turns knobs
                                                   • Easily excited
                                                   • Yells a lot in emergencies


                                                         Why you be hatin
                                                              ?!?



Metaphor Attribution – Andrew Shafer, now of Rackspace
Traditional Process




Dev’s job is to add new
features.

Ops’ job is to keep the site
stable and fast
Agility - Design vs Manufacturing




   Load          Load                     Load Balancer
  Balancer      Balancer

 App Server    App Server           App Server     App Server

  Database     Database
                                            Database

Dev (shared)      QA
                                     Dev - QA - UAT - Prod

                            How ?
Agility - Design vs Manufacturing

                             Goal = Increase Velocity



          Load                      Load                     Load
         Balancer                  Balancer                 Balancer
      App            App       App           App         App         App
     Server         Server    Server        Server      Server      Server

         Database                 Database                  Database

              Dev                      QA                        Prod


What ?
Step 1 – SCM and Developers




Application      Software
  Devs          Configuration
                Management
                  (SCM)




Infrastructur
   e Devs
Step 2 – Introducing the Build Stage


                                      Build    Changes in
                                               SCM triggers
                                               builds and
                                     Payload
                                       N
                                               tests
Application      Software
  Devs          Configuration
                Management
                  (SCM)              Payload
                                        3

                                     Payload
                                        2

                                     Payload
                                        1

Infrastructur
   e Devs
Step 3 – “Infrastructure As Code” and the CD Process
                                             Latest Codebase and
                                             Build
                                                                               Create Data (#)
                                                                               Upload Policies
                                                Build                          Update DEV                          DEV
                                                                               Autodeploy to         IAC
Application Devs
                                                                               localhost                                         Promote
                   Infrastructure Devs




                                               Payload                         Request Portal                       QA
                                                 N
                                                                   1, 2, … N
        Software                                                               Autodeploy
                                                                                                                                 Promote

       Configuration
                                                                                                    N              PROD
       Management
         (SCM)                                 Payload
                                                  3                                                  …..
                                                                                                                          …..
                                               Payload
                                                  2                                                        2
                                                                                                                                ….
                                               Payload                                           Builds        1
                                                  1
Thank You!


       Stathy Touloumis
    stathy@opscode.com
Twitter | IRC | github: stathyinc
Topic Brainstorming




• 7:45 – 8:00 – Volunteers and Topics
 • Frequency of meeting – 5 of every month?
                             th

 • Solidify next few topics to cover
 • Pick topic(s) and speaker(s) for the next meeting

Stathy DevOps in MSP / MKE on IAC

  • 1.
  • 2.
    “We are atour most productive when we share our thinking. One night of crazy brain-storming over a few beers is more likely to produce more exciting results than 20 years’ solitary study in the lab.” –Professor Howard Trevor Jacobs, Descartes Prize Winner Read more at redmonk.com - http://goo.gl/FEJyI http://redmonk.com/jgovernor/2004/12/15/the-pub-is-the-place-for-creativity-and-innovation/
  • 3.
    Who am I? SolutionEngineer and Evangelist My agenda Bootstrap Meetups Learn more Share experiences with people from diverse backgrounds Introductions … ~ 1m round the room brief intro, don’t be too shy 
  • 4.
    “Rules of Engagement” 3Rules of DevOps Meetup
  • 5.
    “Rules of Engagement” 1st Rule: Talk about DevOps Meetup
  • 6.
  • 7.
    “Rules of Engagement” 2nd Rule: TALK about DevOps Meetup
  • 8.
    “Rules of Engagement” 3rd Rule: No Assholes
  • 9.
    “Rules of Engagement” Collaborateand debate NO disrespect
  • 10.
  • 11.
    Logistics • Topic coverage?topic focus? • Lightning talks, 4-5, 5-10m each • Unmeeting – Larger group • Presentations – Intro & Advanced • Demo & Tutorial • Case studies and experience sharing. • Monthly? Bi-monthly? Quarterly?
  • 12.
  • 13.
  • 14.
    Items of Manipulation (resources) • Nodes • Routes • Networking • Users • Files • Groups • Directories • Packages • Symlinks • Services • Mounts • Filesystems
  • 15.
  • 16.
  • 17.
  • 18.
    See Nodes Grow AppServers App Databases
  • 19.
    See Nodes Grow AppLB App Servers App Databases
  • 20.
    See Nodes Grow AppLBs App Servers App Databases
  • 21.
    See Nodes Grow AppLBs App Servers App DB Cache App DBs
  • 22.
    Infrastructures have topology App LBs App Servers App DB Cache App DBs
  • 23.
    Your's is asnowflake Round Robin DNS App Servers App DB Cache Floating IP? App DBs
  • 24.
    Complexity increases quickly App LBs Cache App Servers NoSQL DB Cache DB slaves DBs
  • 25.
  • 26.
    Traditional Thinking Won’tMake the Grade … Before discussing the future, Let’s review the past. More importantly why “traditional” enterprise technologies will not cut it.
  • 27.
    Unprecedented Growth ANDComplexity … Scale x Complexity > Skills Inflection point forces disruption. 1980 1990 2000 2010+ Mainframe Client/Server Datacenter Cloud 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
  • 28.
    Inflection Point Inspires… Mainframe Client/Server Datacenter Cloudy Traditional, data Traditional, doma model driven in model driven “Infrastructure As applications. Code” Millions 120 100 80 60 40 20 - 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Physcial Hardware Virtual Nodes
  • 29.
    How can thisbe abstracted AND represented? EUR USA AUS
  • 30.
    Maturity of “InfrastructureAs Code” 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
  • 31.
    “In God weTrust, all others bring DATA!!!” VS http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html
  • 32.
    “Infrastructure As Code”Mantra “Infrastructure As Code” … The business, not just a tool Enable the reconstruction of the business from nothing but a configuration repository, an application data backup, and bare resources. As rapidly and elegantly as possible.
  • 33.
    “Infrastructure As Code” •A configuration management system (DSL) • A library for configuration management • A community, contributing to library and expertise • A systems integration platform (API) http://www.flickr.com/photos/asten/2159525309/sizes/l/
  • 34.
    Some Samples package {"apache2": ensure => latest } service { "apache2": ensure => running, require => Package["apache2"], subscribe => File[httpdconf], }
  • 35.
    Some Samples package "apache2"do package_name node[:apache][:package] action :install end template "/etc/www/configures-apache.conf" do notifies :restart, "service[apache2]” end service “apache2”
  • 36.
    The players Dev & Ops Metaphor Attribution – Andrew Shafer, now of Rackspace
  • 37.
    Meet Dev • Little bit weird • Sits closer to the boss • Thinks too hard Don’t hate the player … Metaphor Attribution – Andrew Shafer, now of Rackspace
  • 38.
    Meet Ops • Pulls levers & turns knobs • Easily excited • Yells a lot in emergencies Why you be hatin ?!? Metaphor Attribution – Andrew Shafer, now of Rackspace
  • 39.
    Traditional Process Dev’s jobis to add new features. Ops’ job is to keep the site stable and fast
  • 40.
    Agility - Designvs Manufacturing Load Load Load Balancer Balancer Balancer App Server App Server App Server App Server Database Database Database Dev (shared) QA Dev - QA - UAT - Prod How ?
  • 41.
    Agility - Designvs Manufacturing Goal = Increase Velocity Load Load Load Balancer Balancer Balancer App App App App App App Server Server Server Server Server Server Database Database Database Dev QA Prod What ?
  • 42.
    Step 1 –SCM and Developers Application Software Devs Configuration Management (SCM) Infrastructur e Devs
  • 43.
    Step 2 –Introducing the Build Stage Build Changes in SCM triggers builds and Payload N tests Application Software Devs Configuration Management (SCM) Payload 3 Payload 2 Payload 1 Infrastructur e Devs
  • 44.
    Step 3 –“Infrastructure As Code” and the CD Process Latest Codebase and Build Create Data (#) Upload Policies Build Update DEV DEV Autodeploy to IAC Application Devs localhost Promote Infrastructure Devs Payload Request Portal QA N 1, 2, … N Software Autodeploy Promote Configuration N PROD Management (SCM) Payload 3 ….. ….. Payload 2 2 …. Payload Builds 1 1
  • 45.
    Thank You! Stathy Touloumis stathy@opscode.com Twitter | IRC | github: stathyinc
  • 46.
    Topic Brainstorming • 7:45– 8:00 – Volunteers and Topics • Frequency of meeting – 5 of every month? th • Solidify next few topics to cover • Pick topic(s) and speaker(s) for the next meeting

Editor's Notes

  • #3 5:30 – 6:15 – Meet, greet, and eat6:15 – 7:00 – Welcome, introductions, and agenda7:00 – 7:30 – Meetup group logisticsExpectations and general thoughtsPotential future topics we'd like to coverDetermine how often we'd like to meet7:30 – 7:45 – Infrastructure as Code, short prezo7:45 – 8:00 – "Picks" and then wrap-up.Solidify next few topics to coverPick topic(s) and speaker(s) for the next meeting8:00 Wrap-up
  • #4 Pre-empt introductions with a simple yet powerful statement.Spirit of community and collaboration.
  • #5 Main – Help bootstrap technology groups around Midwest region.Began tech career diving feet first into co-founding ISP, multiple downturns and upturns, multiple generations of Automation technology, 7 yrs Software Eng, 3 yrs leadingApply learning in different contexts – industries, maturity, organizations, cultures
  • #10 Context around “No Assholes”Have respect for others who may be less experienced, have less exposure or maybe just do not learn as fast.Have respect for those who may have limited time and/or realize some topics are not easily conveyed.Mutual Respect
  • #11 Mutual RespectIt’s not so much about just technology but the complete interaction of people, process and technology used.If you can’t get along with people, you are missing a big part of the equation.
  • #12 DevOps is bigger than Dev and OpsSpans other tech groups, dba’s, QASpans business side tooGet out of the “us” vs “them” mentality
  • #13 Things to decide after prezoTopic Coverage possibilitiesMeeting frequency[Come up with several topics]
  • #14 DevOps is bigger than Dev and OpsSpans other tech groups, dba’s, QASpans business side tooGet out of the “us” vs “them” mentality
  • #29 Automation nothing new but the complexity we just talked about has really proliferated with enabling platforms such as virtualization and cloud.
  • #30 Infrastructure As Code is nothing newIt’s been growing in popularity, was always a consideration with cutting edge Bay Area tech firms.The inflection point has given it escape velocity.
  • #32 CFEngine – Mark BurgessPuppet – Luke KaniesOpscode – Adam Jacob
  • #33 SALES-> “Infrastructure As Code” Opscode positionObvious, several articles on Oreilly discussing studies and data from companies using “secret sauce” tech which is really “Infrastructure As Code” VS traditional methods including enterprise tech.http://radar.oreilly.com/2007/10/operations-is-a-competitive-ad.html
  • #34 SALES-> “Infrastructure As Code” Opscode position“Infrastructure As Code” … core conceptSource code – Agile, leveragedev best-practices for managing infrastructure change.Configuration Repository – Source Code Repository, common methods used in software development for tracking the degrees of state change in a developing system.Data Backup – Separation of data from execution. Think of code/execution as the house and the data as the furniture and accessories that give it personality/distinction.Bare Resources – Primitives, an understanding of the core building blocks to easily support new platforms and make it intuitive to do so.
  • #38 How does this apply to DevOps?So how many people recognize these characters? And I’m not just talking about Spock and Scotty, how many people recognize the traditional IT roles embedded in their behaviors.Metaphor Attribution – Andrew Shafer, now of Rackspace
  • #41 And furthermore, we think these two roles have always pinned dev and ops against each other. Developers are measured based on the output of new functionality they churn out. Create a bunch of features, send them over the wall to Q&A/release/ops who are left to deploy and scale that new functionality while keeping the site up. Ops meanwhile, is really only tasked with just that, with keeping everything running as a sole focus. What is the single most common way to make a running site go down, introduce change…
  • #44 Anyone know this book? Anyone catch Derek Hammer's talk before lunch?Jez Humble and David Farley's Continuous Delivery. Let's talk about that.
  • #45 And this is what it looks like. Application and Infrastructure developers and operators check in their code to version control.
  • #46 The commits (once approved) will get picked up by the continuous integration tool (like Jenkins), which will build the code, deploy to a test infrastructure and start testing.
  • #47 That cycle of build, deploy and test repeats until it fails or gets to production. Catching issues and smoketesting your changes well before they get to Production.